Service Checks

When Are Service Checks Performed?

Services are checked by the Yoopl cron:

  • At regular intervals, as defined by the check_interval and retry_interval options in your service definitions.
  • On-demand as needed for predictive service dependency checks.

On-demand checks are performed as part of the predictive service dependency check logic. These checks help ensure that the dependency logic is as accurate as possible. If you don't make use of service dependencies, Yoopl won't perform any on-demand service checks.

Service States

Services that are checked can be in one of four different states:

  • OK
  • WARNING
  • UNKNOWN
  • CRITICAL

Service State Determination

Service checks are performed by checkcommands, which can return a state of OK, WARNING, UNKNOWN, or CRITICAL. These checkcommands states directly translate to service states. For example, a checkcommand which returns a WARNING state will cause a service to have a WARNING state.

Services State Changes

When Yoopl checks the status of services, it will be able to detect when a service changes between OK, WARNING, UNKNOWN, and CRITICAL states and take appropriate action. These state changes result in different state types (HARD or SOFT), which can trigger event handlers to be run and notifications to be sent out. Service state changes can also trigger on-demand host checks.

When services change state too frequently they are considered to be "flapping". Yoopl can detect when services start flapping, and can suppress notifications until flapping stops and the service's state stabilizes. More information on the flap detection logic can be found here.