Call-Home-Service mit Icinga 2 nutzen

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Mit dem Thomas Krenn Call-Home-Service schickt Ihr Netzwerkmonitoringsystem (TKmon oder Icinga 2) bei Hardware-Problemen Ihrer Thomas-Krenn-Server automatisch eine Benachrichtigung an das Thomas-Krenn Support-Team. Dieser Artikel zeigt, wie Sie den Call-Home-Service mit Icinga 2 nutzen können.

In dieser Beispielanleitung kommt Icinga 2.6.2 unter Ubuntu 16.04 zum Einsatz.

Voraussetzungen

Die nachfolgenden Schritte dienen als Voraussetzung, damit Sie den Thomas-Krenn Call-Home-Service verwenden können.

Installation der erforderlichen Komponenten

  1. Icinga 2 Installation (z.B. Installation von Icinga 2 unter Ubuntu 16.04 LTS)
  2. TKalert Skript (zum Versenden von verschlüsselten Call-Home-Service Meldungen an Thomas Krenn)
  3. Thomas Krenn Call-Home-Service Subscription für jeden Server, der überwacht werden soll
  4. Thomas Krenn Call-Home Auth-Key (Von Ihrem Kundenaccount, mit dem Sie die zu überwachenden Server gekauft haben. Zur Überwachung von mehreren Servern, die über unterschiedliche Kundenaccounts bei Thomas Krenn gekauft worden sind, verwenden Sie einfach mehrere Call-Home Auth-Keys.)

Anpassungen im TKalert Skript

Einer der an TKalert übergebenen Parameter wird von Icinga 2 nun nicht mehr als Integer, sondern als Fließkommazahl zurückgeliefert. Passen Sie bitte deshalb im Skript options.py den Parameter --duration an. Ändern Sie deshalb den Wert type auf float.

# vi /usr/local/lib/python2.7/dist-packages/tkalert-1.5-py2.7.egg/tkalert/options.py
        {'name': '--duration',
         'dest': 'duration',
#         'type': 'int',
         'type': 'float',
         'metavar': 'SECONDS',
         'help': 'Seconds since occurrence',
         'group': 'service'},

Icinga 2 Konfiguration

Nun erfolgt die eigentliche Konfiguration des Call-Home-Services auf dem Icinga 2 Host.

Thomas Krenn Konfigurationsdateien

Für die einfache Konfiguration des Call-Home-Services stellen wir die folgenden Konfigurationsdateien im Archiv icinga2-thomas-krenn-call-home-service-configuration.tar.gz bereit:

  • Thomas-Krenn Notification Template (thomas-krenn-templates.conf)
  • Thomas-Krenn Host Template (thomas-krenn-host.conf)
  • Thomas-Krenn Benutzer Template (thomas-krenn-user.conf)
  • Thomas-Krenn Kommandos (thomas-krenn-commands.conf)
  • Thomas-Krenn Benachrichtigungen Zuweisungs-Regeln (thomas-krenn-notifications.conf)
  • Thomas-Krenn Service Zuweisungs-Regeln (thomas-krenn-services.conf)

Entpacken Sie das Archiv im Verzeichnis /etc/icinga2/conf.d/ und passen Sie anschließend in der Datei /templates/thomas-krenn-host.conf die folgenden drei Einträge an. Geben Sie dabei Ihren Namen, Ihre E-Mail-Adresse, sowie Ihren Call-Home Auth-Key an:

vars.tkmon_contact_person = "Max Mustermann"
vars.tkmon_contact_email = "mmustermann@example.org"
vars.tkmon_authkey = "0123456789A"

Anpassen Ihres Icinga 2 Hosts (localhost)

Die Konfiguration des lokalen Icinga 2 Hosts erfolgt standardmäßig im File hosts.conf. Tragen Sie in dieser Datei folgende Parameter nach, damit Ihre Icinga 2 Instanz die Eigenschaften des Thomas-Krenn Host-Templates erben kann. Der Heartbeat Check des Call-Home-Services wird durch definierte apply Service Regeln, definiert in der Datei /services/thomas-krenn-service.conf, automatisch auf den Icinga 2 Host angewendet und einmal täglich ausgeführt.

import "thomas-krenn-host"
Dadurch werden die drei oben definierten Variablen dem lokalen Icinga 2 Host zugewiesen.
[...]
vars.notification["tkmonsystem"] = {
                groups = [ "tkmonsystem" ] 
  }

Durch die Zeile import werden die drei weiter oben definierten Variablen dem lokalen Icinga 2 Host zugewiesen. Der Eintrag vars.notification bewirkt, dass die Benachrichtigung der Gruppe "tkmonsystem" auf diesem Host angewendet werden.

Speichern Sie anschließend die Datei hosts.conf und schließen Sie den Editor.

Anpassen Ihrer Hosts

Damit von Ihrer Icinga 2 Instanz Call-Home-Service Meldungen verschickt werden können und wir wissen, welcher Server eine Fehlfunktion aufweist, fügen Sie in die Konfigurationsdateien der Hosts, für die Sie den Call-Home-Service aktivieren möchten, unten angeführte Komponenten ein. Die Konfiguration von Hosts kann z.B. in einem eigenen *.conf File im Unterverzeichnis /hosts des Icinga 2 Konfigurationsverzeichnis erfolgen:

import "thomas-krenn-host"
vars.serial = "<Thomas-Krenn Seriennummer>"
vars.os = "<Betriebssystem>"
vars.notification["tkmonsystem"] = { groups = [ "tkmonsystem" ] }

Anpassen Ihrer Services

Die Konfiguration der Services unterscheidet sich bei Icinga 2 im Vergleich zum Vorgänger Icinga 1. Sie finden im oben verlinkten Archiv in der Datei "thomas-krenn-services.conf" neben der Heartbeat Konfiguration weitere sogenannte apply Service Regeln. Diese werden automatisch angewendet, wenn Sie z.B. einen Host mit einem IPMI Interface konfigurieren.

Neben dieser Konfigurationsdatei kommen zusätzlich noch die apply Notification Regeln ins Spiel, die Sie im File /notifications/thomas-krenn-notifications.conf vorfinden. Diese Regeln sorgen dafür, dass bei Kombinationen aus einer Thomas-Krenn Seriennummer vars.serial und eines der folgenden Servicechecks, im Falle eines Fehlers, eine Benachrichtigung an unseren Thomas-Krenn-Support gesendet wird.

Nachfolgende Aufstellung zeigt die zum Call-Home-Service kompatiblen Servicechecks und die erforderlichen Parameter. Anhand dieser Parameter ordnet Icinga 2, durch die verfügbaren apply Service Regeln, automatisch die entsprechenden Servicechecks den Hosts zu.

  • SMART Attributes Monitoring Plugin über NRPE
    • vars.nrpe_smart = "check_smart_attributes"
  • Adaptec RAID Monitoring Plugin über NRPE
    • vars.nrpe_adaptec = "check_adaptec_raid"
  • LSI RAID Monitoring Plugin über NRPE
    • vars.nrpe_lsi = "check_lsi_raid"

Wichtige Hinweise:

Konfiguration abschließen

Nach Anpassung der Konfiguration können Sie die Konfiguration testen und anschließend Icinga 2 neustarten. Der Call-Home-Service ist nun fertig eingerichtet.

Konfiguration prüfen:

$ sudo service icinga2 checkconfig
 * checking Icinga2 configuration                                                                    [ OK ]

Icinga neustarten:

$ sudo service icinga2 restart
 * checking Icinga2 configuration                                                                    [ OK ] 
 * Restarting icinga2 monitoring daemon icinga2     
[...]
                                                                                                     [ OK ]


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das TKwiki. Er ist ein begeisterungsfähiger, technisch interessierter Linux und Mac Nutzer, fährt im Winter gerne Ski und geht im Sommer gern ins Schwimmbad.


Das könnte Sie auch interessieren

Adaptec RAID Monitoring Plugin unter Windows Server 2012 einrichten
Installation von Icinga 2 unter Ubuntu 16.04 LTS
Monitoring Plugins für Thomas-Krenn-Server