Server-Alarmierung im Fehlerfall leicht gemacht – der Call-Home-Service von Thomas-Krenn
0Seit nunmehr 4 Jahren gibt es die gemeinsam mit NETWAYS entwickelte Monitoring-Lösung TKmon. Als praktische Zusatzfunktion ist der Call-Home-Service seit Anbeginn als automatische Alarmierungsfunktion im Fall eines Hardware-Problems integriert. Dieser Artikel zeigt, wie der Call-Home-Service im Detail funktioniert und wie er eingesetzt werden kann. Außerdem finden Sie in diesem Artikel eine praktische Checkliste zum richtigen Einsatz des Call-Home-Services.
Ein umfassendes Monitoring aller wichtigen Komponenten eines Servers und Netzwerkkomponenten ist für den stabilen und unterbrechungsfreien Betrieb jeder IT-Infrastruktur unerlässlich. Wenn es doch mal zu einem Problem mit der Hardware kommt, sollten derartige Probleme automatisch erkannt werden und eine Alarmierung erfolgen. Hier setzt der Call-Home-Service an, denn dieser sorgt dafür, dass im Falle eines Hardware-Fehlers, zum Beispiel Netzteil- oder auch Lüfter-Ausfall, eine automatische Benachrichtigung Ihres Monitoring-Servers an das Support-Team von Thomas-Krenn erfolgt. Bei all diesen Vorteilen ruft eine Funktion wie der Call-Home-Service bei manchen vielleicht auch ein wenig Unbehagen hervor, spätestens seit Edward Snowden und dem Bekanntwerden verschiedenster Hintertürchen in vielerlei Software. Wie dieser Dienst nun im Detail funktioniert, wie Sie ihn einsetzen und konfigurieren können, das möchten wir Ihnen in den folgenden Zeilen erläutern.Call-Home-Service auch in Kombination mit Icinga oder Nagios möglich
Eines vorweg: Nicht für jeden Einsatzzweck ist TKmon ideal, große Monitoring-Umgebungen setzen deswegen auf eine reine Icinga- oder Nagios-Installation. Für komplexere Monitoring-Umgebungen mit Icinga oder Nagios ist der Call-Home-Service dennoch eine sinnvolle Ergänzung. Darüber hinaus können Sie den Call-Home-Service ebenso mit einer Monitoring-Lösung basierend auf Icinga 2 verwenden. Wie Sie den Call-Home-Service mit Icinga oder Nagios und auch mit Icinga2 einsetzen können, lesen Sie im Thomas-Krenn-Wiki.
Installation
Die Komponenten des Call-Home-Services werden bei Ubuntu über die Applikation TKalert bequem per Paketverwaltung installiert. Wenn Sie einen Low-Energy-Server von Thomas-Krenn mit vorinstalliertem TKmon für Ihr Monitoring einsetzen, ist die Aktivierung des Call-Home-Services noch einfacher. Denn alle erforderlichen Komponenten sind hier bereits vorinstalliert. Ein automatisch generierter individueller 10-stelliger Code, der Call-Home Auth-Key, ist im Kundenmenü hinterlegt. Dieser sorgt dafür, dass die Meldungen eindeutig zugeordnet werden können und nur valide Alarmierungen in unserer Datenbank eingehen, alle anderen werden automatisch verworfen.
Im TKmon Webinterface ist im linken Menü der Punkt „Call-Home“ ganz unten angebracht. Dieses Menü enthält Eingabefelder für Ihren Namen, E-Mail und den bereits angesprochenen Auth-Key. Tragen Sie diese Informationen ein, klicken Sie auf speichern und anschließend starten Sie den Icinga-Dienst neu. Um die einwandfreie Funktion abschließend zu testen, klicken Sie im Reiter „Test“ des Menüs auf „Call-Home-Service testen“. Wenn der Service korrekt funktioniert, erhalten Sie innerhalb kurzer Zeit eine E-Mail. Mehr ist bei der Konfiguration des Call-Home-Services nicht zu beachten.
Doch wie funktioniert dieser Service nun im Detail?
Sie sehen, die Installation und Konfiguration des Call-Home-Services ist zügig erledigt, aber damit soll es in diesem TKmag-Artikel nicht getan sein. Die nun folgenden Abschnitte liefern eine detaillierten Einblick, wie der Dienst im Detail funktioniert. Die Softwarekomponenten sind alle Open Source, deshalb ist der Code des Call-Home-Services selbstverständlich frei verfügbar und kann Zeichen für Zeichen eingesehen werden. TKalert, der zugrunde liegende Dienst, ist in der verbreiteten Skriptsprache Python programmiert. Die Kernkomponenten sind zusätzlich zu Python der Postfix Mail-Server, um die E-Mails übertragen zu können. Die Übertragung erfolgt natürlich nicht im Klartext sondern wird vorab per GPG Ende-zu-Ende verschlüsselt und erst wieder auf unserem Backend-System entschlüsselt.
Hallo Thomas-Krenn, mir geht’s gut
Ist der Call-Home-Service eingerichtet und aktiv, wird bei TKmon einmal am Tag durch einen automatisch angelegten Servicecheck check_tkmon_heartbeat das Tool TKalert mit dem Parameter –type=“heartbeat“ ausgeführt. Dieser Heartbeat bedeutet, es wird eine Meldung „Hallo ich bin noch da und ich bin dieser Monitoring-Server der Firma X“ ausgesendet. Wenn diese Herzschlag-Meldung zum ersten Mal in unserer Datenbank eingeht und noch kein Eintrag Ihres Monitoring-Servers vorhanden ist, wird, nach vorheriger Prüfung auf Korrektheit der Konfiguration, ein neuer Eintrag angelegt. Diese Zeile in der Datenbank enthält Ihre angegebene E-Mail-Adresse, den Namen Ihrer Kontaktperson, die eingesetzte TKalert-Version sowie den Call-Home Auth-Key. Zusätzlich wird ein Zeitstempel angelegt, wann das letzte Mal eine Meldung eingegangen ist. Dieser Zeitstempel wird jeden Tag überschrieben. Wenn 48 Stunden kein Heartbeat mehr empfangen wurde, erhalten Sie automatisch eine E-Mail des Call-Home-Servers mit dem Hinweis, dass Ihre Monitoring-Instanz seit zwei Tagen keine Meldung mehr verschickt hat. Wenn nun aber 75 Stunden seit dem letzten Zeitstempel vergangen sind, wird auch das Support-Team von Thomas-Krenn per E-Mail alarmiert. Sie werden sich dann mit Ihnen in Verbindung setzen, um das Problem zu beheben. So unterstützt der Call-Home-Service Sie beim reibungslosen Betrieb Ihres Monitoring-Servers.
Houston, we have a problem
Natürlich ist die Tatsache, dass sich Ihr Monitoring-Server regelmäßig bei Thomas-Krenn meldet nicht ausreichend, um Ihre Server bestmöglich zu überwachen. Deswegen gibt es neben den automatischen Heartbeat-Meldungen alle 24 Stunden die sogenannten Alerts. Ein Hardware-Servicecheck wechselt von OK zum Status WARNING oder CRITICAL, dies bedeutet, es liegt ein Problem vor. Jetzt ist Aufmerksamkeit erforderlich, denn bei CRITICAL Meldungen liegt ein ernsteres Problem vor, es könnte bald zu einem Serverausfall kommen. Es ist jedoch nicht sehr sinnvoll, dass jeder Servicecheck per Call-Home-Service überwacht wird. Man denke an ein Testsystem, das nur während der Bürozeiten läuft. Läuft ein Ping-Check auf dieses System nach Feierabend in einen CRITICAL Status, ist das System sehr wahrscheinlich ausgeschaltet. Meldet jedoch beispielhaft ein IPMI-Sensor-Check auf die Remotemanagement-Schnittstelle eines Servers eine erhöhte Temperatur, Ausfall eines Netzteils oder Lüfterfehler und wechselt deswegen in den CRITICAL Status ist umgehend Handlung erforderlich. Welche Servicechecks solche Zustandsänderungen voreingestellt an Thomas-Krenn übermitteln, lässt sich im TKmon-Interface bei der Anlage oder Bearbeitung der Servicechecks prüfen. Unterhalb der Parameterangaben findet sich bei einigen Servicechecks ein Dropdown-Menü, indem man auswählen kann, ob Fehler an Thomas-Krenn gemeldet werden. Eine Übersicht, welche Checks standardmäßig Fehler senden zeigt der Abschnitt „Unterstützte Überwachungen“ des Call-Home-Service-Artikels im Thomas-Krenn-Wiki.
Ein sogenannter „Alert“ wird ebenso wie ein „Heartbeat“ über das Tool TKalert durchgeführt. Diesmal mit dem Parameter –type=“service“. Nur die allerwichtigsten Daten und Statistiken Ihres Systems werden übermittelt. Da die Liste etwas länger ist als bei einer Heartbeat-Meldung würde die Auflistung aller Parameter wohl den Rahmen dieses Artikels sprengen, einen ungekürzten Beispielaufruf finden Sie in unserem Thomas-Krenn-Wiki.
Wenn eine Alert-Meldung bei unserem Backend-Server eingeht, wird vorab geprüft, ob ein gültiger Call-Home Auth-Key vorliegt. Ebenso wichtig für eine einwandfreie Zustellung in unsere Datenbank ist eine vollständige Befüllung aller erforderlicher Felder. Neben der Aktivierung im TKmon-Menü „Call Home“ ist bei jedem Thomas-Krenn-Server die Angabe der Seriennummer in der Hostkonfiguration des TKmon Host-Menüs erforderlich. Nur dann gelangt die Meldung in unsere Datenbank. Ausgestattet mit der Seriennummer und Ihren Kontaktdaten können wir Ihnen dann schnellstmöglich weiterhelfen.
Wie steht es um die Sicherheit?
Wie bereits angesprochen, erfolgt die Übertragung zum Call-Home-Service-Backend natürlich nicht unverschlüsselt im Klartext. Nachdem TKalert beauftragt wurde, eine Meldung an Thomas-Krenn zu senden, werden die Informationen Ihres Systems automatisch per Aufruf der GnuPG Suite mit dem öffentlich verfügbaren Schlüssel des E-Mail-Kontos unseres Call-Home-Backends verschlüsselt und anschließend übertragen. Eine Entschlüsselung der Daten kann nur anhand des privaten Schlüssels auf unserem Monitoring-Backend-Server erfolgen.
Fazit
Wie Sie sehen, ist es nicht aufwändig, die Monitoring-Instanz mit einer automatischen Alarmierungsfunktion zu erweitern. Der Nutzen ist enorm und die Bedenken, die derartige automatische Alarmierungen hervorrufen, können im Falle vom Call-Home-Service auch abgelegt werden. Vertrauen ist gut, Kontrolle ist besser, deshalb ist der Code frei einsehbar, es gibt nichts zu verbergen. Der Dienst will Sie nur unterstützen, mit sparsamer Datenhaltung aber großem Nutzwert.