Icinga director - Monitor several Linux partitions with their own disk threshold

I have a server monitored by check_disk which has multiple disks. By default all disks are listed in results with the same thresholds. As some of the disks are large, e.g. 10 TB, so a threshold with 10% is not relevant for that disk and I would like to adjust it per-disk.
I haven’t found a way how to configure different thresholds per disk in Icinga director (despite adding separate services for separate disks).

e.g. I looked at the following threads, but haven’t found anything regards director:

1 Like

you got two options …

  1. have one check per disk. then you can even template the limits (like 10% for system disk, 10GB for data disk etc.)
  2. add a hole heap of custom options to the check to set different warning/critical limits
    option 2) is reasonable if you need that onle on very vew hosts, i’d go with option 1. then you can easily override limits for each check as needed

Thanks @fireba11 . In the meantime I had implemented already option 1 as I thought this is most likely the best way to go :slight_smile:

Hello, just found this thread as we are currently in a migration process from filebased to director. We have the same issue, not only for disk but for processes as well and was wondering how this could best be solved. this is an example with services, this is defined within the host object:

    vars.linux_service["Service VMwareTools"] = {
        procs_argument          = "/usr/bin/vmtoolsd"
        procs_warning           = "1:1"
        procs_critical          = "1:1"
        procs_user              = "root"
    }
    vars.linux_service["Service SSH"] = {
        procs_argument          = "sshd -D"
        procs_warning           = "1:1"
        procs_critical          = "1:1"
        procs_user              = "root"
    }

and a simple apply rule like this:

apply Service for (linux_service => config in host.vars.linux_service) {
    import "default-service"
    check_command                   = "procs"
    command_endpoint                = host.vars.remote_client

    vars += config
}

I doesn’t seem practical to create one check per process, as there are way to many different ones. It is also possible that i am missing something here but i couldn’t get a valid example on a scenario like this.

Sorry for taking over your thread but i just found the github issue which points to this icingaweb2-module-director/issues/337.

would still be interesting to know how Thomas would solve this with custom thresholds for different services as he seems not convinced that this is the way to do it