Dependencies between hosts and services

Introduction

Dependencies play a major role if, as an administrator, you don’t want to be overwhelmed with a flood of SMS and emails in the event of a major environment failure. With the dependencies you configure between hosts and services, you can avoid exactly this scenario and reduce notifications to a minimum in order to quickly and effectively identify exactly where in the chain of failures the real cause lies and affect other areas of your IT infrastructure.

Suppose you run an NFS server with multiple clients:

If the NFS server fails, you would not only receive an error message for the NFS server, but also for all web front ends and all other services that access the NFS share. This is exactly the scenario you can avoid with the dependencies. If the dependencies are configured correctly, you would only receive a single error message, namely that the NFS server has a problem.

Inheritance

Inheritance occurs whenever there is a chain of dependencies between services. In the following graphic you can see that there are several layers:

The web front end not only depends on the NFS servers for its functionality, but also on the iSCSI device. If, for example, the SAN fails, the mounts of the NFS shares will not work, just as if the two servers in the NFS cluster fail. So if you activate inheritance for the service checks of the NFS servers, the status of the iSCSI device will also be taken into account.

Conclusion: If the SAN fails, you only receive a notification that the SAN has failed, but no message about the failure of the NFS servers and the web front ends.

Configuration of dependencies

You can access the dependency configuration area by clicking on a host.

Dependencies can only ever be set up between two services. If you want to set up a dependency between two hosts, you should set it up between two services that can be used to determine whether a host is actually no longer accessible. For example, you can use a ping check and define this check as a host alive check.

Host Alive Check

A host alive check is a check that determines whether a host is UP or DOWN. If this service check returns a critical status, you will receive a special message. If other services of the host are also in a critical status while the host alive check is critical, then the notifications of other services are suppressed. It is recommended to define a ping check as a host alive check.

To define a service as a host alive check, you simply need to activate the corresponding parameter in the service setup form: