We have passive service checks setup for a few hosts. The passive check result are sent from a remote host to Icinga api. However, the state is “SOFT;1” for “Critical” status. I would like to have it as “HARD”.
The SOFT state is intended to prevent unnecessary notifications that are sent in a HARD state. In my case the host is 3 check intervals in the SOFT state before it goes into the HARD state. This can be adjusted with the setting retry_interval.
See the Icinga documentation under Monitoring Basics for more information on the HARD/SOFT state.
→ Monitoring Basics - Icinga 2
you need to set enable active checks → this will result in the check to go UNKNOWN if there is no passive result in time
you need to have a check_attempts =1 because you said you wanted that.
→ this will result in the check to go UNKNOWN after one attemot if there is no passive result in time
you set the check_interval to for example 10m → this will be the window where you provide check result data from your process-check-result api call
you have your passive check script provide data in an interval 5m this will make sure that the unknown from checkcommand" passive" get used if there is no passive check result within 10m