Eine automatische Konfiguration von Server und Hardware ist mittlerweile dank Puppet und Co. in vielen IT-Abteilungen angekommen. Die Konfiguration des Monitoring erfolgt in vielen Fällen aber weiterhin mehr oder weniger manuell. Gründe dafür gibt es vermutlich viele. Zum Beispiel wenn Puppet und das Monitoring durch verschiedene Abteilungen betrieben wird oder es gibt Misstrauen gegenüber automatischer Konfiguration oder oftmals gibt es gut funktionierende Prozesse, wieso sollte ich diese ändern?

Allerdings sind alle Informationen die ich zum Überwachen der Server benötige auch in irgendeiner Form per Puppet, Hiera, Facter oder CMDB  verfügbar und müssen im Prinzip nur noch zu einer funktionierenden Konfiguration zusammengefügt werden. Wie kommt man am besten an die Informationen?

Beispiel 1: RaidController Checks automatisch erstellen

  • Puppet läuft und sammelt seine Fakten
    • darin ist auch ein Fakt enthalten, welches sich per lspci den vorhanden RaidController sucht
  • da ein LSI MegaRaid Controller verbaut ist wird StorCli installiert und ein entsprechendes Check Plugin
  • mit Hilfe des Icinga2 Puppet Moduls wird ein Service Check in die PuppetDB exportiert

Beispiel 2: VHost Checks automatisch erstellen

  • VHost sind im Hiera i.d.R. unter dem Key apache::vhost definiert
  • mit Hilfe von der Hiera Lookup Functions kann man Information aus hiera extrahieren
  • mit Hilfe des Icinga2 Puppet Moduls wird ein Service Check in die PuppetDB exportiert

Die Monitorserver realisieren anschließend die Checks aus der PuppetDB.

Das sind natürlich zwei einfache Beispiele. Will man flexibel bleiben muss man natürlich weiter in die Trickkiste greifen und z.B. ermöglichen, dass die Parameter der Service Checks auch überschreibbar sind.

 

Achim Ledermueller

Autor: Achim Ledermueller

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist unter anderem für die Automatisierung des RZ-Betriebs und der Evaluierung und Einführung neuer Technologien zuständig.