i have a question, how icinga is handling missing objects?
In CheckMK im used to have one Service for each FAN of a Server for Example i have Services
FAN1
FAN2
FAN3
In Icinga i use the redfish Plugin and i see all Fans in one Single Service.
For Example on Brocade SNMP, if one FAN Fails, it could also happen, that the Fan is not available anymore.
In CheckMK the Service of the FAN would change to UNKNOWN and i know something is broken.
In Icinga i just have One Service. One Service shows me 3 FANS are OK, but what would happen, if the check only gets values of 2 Fans on the next check?
The Service Output is still ok, just one FAN is missing.
How is the way in icinga for best practise to get this monitored correctly?
Icinga2 does not care what it is about to execute as a check.
Sure there are some definitions in the Icinga Template Library but nothing about redfish, and this is just a help for you to get started
So you or your colleges or consultants added this plugin to your icinga instance.
This can be any plugin written by anyone.
And here is the catch, the plugin decides what to do in an combination failing entities.
In the end it returns text and one error code
0 => OK
1 => WARNING
2 => CRITICAL
3 => UNKNOWN
Things this plugin might can do:
Include
Exclude
If your plugin can do that you can split the services into individual ones for each fan for example.
In IcingaDB you can click on inspect, find the command executed, and search for that script / binary on the disk of icinga master (in this case, it is most likely not a agent service).
You can look at the code, fork it, adapt it, search for it online propose, a feature request from this vendor and so on.
If Icinga should check that there are 3 fans in OK state, you need to provide that knowledge to Icinga, and adapt the check commands and service objects accordingly.
This can be done in multiple ways:
custom var on the host with # of fans, 1 service checking the # of fans (in addition to the fan status check)
1 service per fan, reporting unknown if the fan is no longer present