Abhängigkeiten zwischen Hosts und Services
Einleitung
Abhängigkeiten spielen eine große Rolle, wenn man als Administrator bei einem Ausfall einer größeren Umgebung nicht von einer Flut von SMS und E-Mails überschwemmt werden möchte. Mit den Abhängigkeiten, die zwischen Hosts und Services konfiguriert werden können, kann genau dieses Szenario vermieden und die Benachrichtigungen auf ein Minimum reduziert werden, um schnell und zielführend zu erkennen, wo genau in der Kette von Ausfällen der eigentliche Grund besteht und andere Bereiche der IT-Infrastruktur beeinträchtigen.
Angenommen, es wird ein NFS Server mit mehreren Clients betrieben:
Wenn nun der NFS-Server ausfällt, hätte das zur Folge, dass nicht nur für den NFS-Server eine Fehlermeldung versendet wird, sondern auch für alle Webfrontends und alle weiteren Services, die auf den NFS-Share zugreifen. Genau dieses Szenario kann mit Abhängigkeiten vermieden werden. Du würdest, wenn die Abhängigkeiten korrekt konfiguriert sind, nur eine einzige Fehlermeldung erhalten und zwar die, dass der NFS-Server ein Problem hat.
Vererbung
Vererbung tritt immer dann auf, wenn es eine Kette von Abhängigkeiten von Services gibt. In der folgenden Grafik ist zu sehen, dass es mehrere Layer gibt:
Die Webfrontend haben nicht nur die NFS-Server als Abhängigkeit für ihre Funktionstüchtigkeit, sondern auch das iSCSI-Device. Fällt zum Beispiel die SAN aus, dann funktionieren die Mounts der NFS-Shares genausowenig, als wenn die zwei Server im NFS-Cluster ausfallen. Wenn also die Vererbung für die Service-Checks der NFS-Server aktiviert wird, dann wird ebenfalls der Status des iSCSI-Devices mit einbezogen.
Fazit: fällt die SAN aus, erhälst du nur eine Benachrichtigung und zwar, dass die SAN ausgefallen ist, aber keine Meldung zum Ausfall der NFS-Server und der Webfrontends.
Konfiguration von Abhängigkeiten
Den Bereich zur Konfiguration von Abhängigkeiten kannst du erreichen, indem du auf einen Host klickst.
Abhängigkeiten können immer nur zwischen zwei Services eingerichtet werden. Möchtest du eine Abhängigkeit zwischen zwei Hosts einrichten, so müssen diese zwischen zwei Services eingerichtet werden, mit denen festgestellt werden kann, ob ein Host tatsächlich nicht mehr erreichbar ist. Hierzu kannst du beispielsweise einen Ping-Check verwenden und diesen Check als Host-Alive-Check definieren.
Host-Alive-Check
Ein Host-Alive-Check ist ein Check der feststellt, ob ein selbst Host UP oder DOWN ist. Wenn dieser Service Check einen kritischen Status liefert, erhälst du eine besondere Nachricht. Wenn andere Services des Hosts ebenfalls in einem kritischen Status sind, während der Host-Alive-Check kritisch ist, dann werden die Benachrichtiungen anderer Services unterdrückt. Es wird empfohlen einen Ping-Check als Host-Alive-Check zu definieren.
Um einen Service als Host-Alive-Check zu definieren, musst du lediglich im Formular zur Einrichtung eines Service den dafür entsprechenden Parameter aktivieren: