Damit Sie als Admin stets über alle Parameter Ihrer IT Bescheid wissen, befasst sich IT-Administrator im Juni mit dem Schwerpunkt 'Monitoring'. Darin lesen Sie ... (mehr)

Configfile für coshsh anlegen

Monitoring beginnt üblicherweise mit einem einfachen Satz an Services zur Überwachung von Betriebssystemfunktionen. Im Falle von Linux sind dies Checks zur Prüfung des SSH-Logins, des Cron-Daemons, von CPU, Memory und/oder Swap und gegebenenfalls von Filesystemen. Dahin wollen wir gelangen, indem wir in coshsh beispielhaft die Beschreibung eines Linux-Servers hinterlegen.

Das Prepare-Skript hat bereits eine rudimentäre Konfigdatei erzeugt, die Sie unter "/etc/coshsh/conf.d/itadm.cfg" finden. Sie müssen darin nur ergänzen, aus welcher Quelle die Rohdaten stammen, die die Grundlage für die künftigen Host- und Servicedefinitionen bilden sollen.

Als einführendes Beispiel nutzen wir einen Satz von CSV-Dateien als Quelle. Damit coshsh diese findet, fügen Sie in "itadm.cfg" unter dem Kommentarblock "Datasources" noch folgende Zeilen hinzu:

[datasource_demo]
type = csv
dir = %OMD_ROOT%/etc/coshsh/data

Mit dieser Information weiß coshsh, dass im data-Verzeichnis mindestens eine Datei namens "demo_hosts.csv" liegt, die Hostnamen und IP-Adressen enthält. Optional sucht so eine Datasource vom Typ CSV auch nach "demo_applications.csv", "demo_applicationdetails.csv", "demo_contacts.csv" und "demo_contactgroups. csv", wobei sich das Präfix "demo" aus dem Sektionsnamen in der Konfigdatei ableitet. Ein weiterer Abschnitt namens "recipe_ itadm" benennt die "Zutaten" der Nagios-Konfiguration. Eine davon ist auch die Datasource, weswegen der auskommentierte Eintrag ebenfalls zu ändern ist:

[recipe_itadm]
templates_dir = %OMD_ROOT%/etc/coshsh/recipes/itadm/templates
classes_dir = %OMD_ROOT%/etc/coshsh/recipes/itadm/classes
objects_dir = %OMD_ROOT%/var/coshsh/configs/itadm
datasources = demo

Die Verzeichnisse "classes_dir" und "templates_dir" kommen später ins Spiel.

Objekte erzeugen

Der Inhalt von "etc/coshsh/data/demo_ hosts.csv" sieht folgendermaßen aus:

host_name,address,alias,virtual
localhost,127.0.0.1,local server

Das reicht coshsh, um eine Hostdefinition zu erzeugen. Dass es sich um einen Linux-Server handelt, der die entsprechenden Betriebssystemchecks bekommen soll, steht in der Datei "demo_applications.csv":

host_name,name,type
localhost,os,redhat

Das Feintuning der Applikation nehmen Sie über sogenannte Details vor, in diesem Fall zwei Filesysteme. Sie werden in "demo_applicationdetails.csv" aufgelistet:

host_name,name,type,monitoring_type,monitoring_0,monitoring_1,monitoring_2
localhost,os,redhat,FILESYSTEM,/,20,15
localhost,os,redhat,FILESYSTEM,/opt

Die erste Zeile in den CSV-Dateien ist für die Benennung der Spalten erforderlich und darf nicht weggelassen werden. Den Generiervorgang starten Sie mit dem Kommando »coshsh-cook« . Dieses benötigt als Kommandozeilenparameter den Pfad zum "Kochbuch", also der coshsh-Konfigdatei, sowie den Namen eines Kochrezepts:

OMD[itadm]:~$ coshsh-cook --cookbook ~/etc/coshsh/conf.d/itadm.cfg --recipe itadm

Dem Aufruf folgen zahlreiche Informationen über die einzelnen Prozessschritte, die coshsh durchläuft. Eine davon sagt aus, dass die generierten Dateien im Verzeichnis "~/var/coshsh/configs/itadm/dynamic" zu finden sind. Dort sehen Sie, dass pro Host ein Unterverzeichnis angelegt wird, in dem sich "host.cfg" sowie die Dateien "os_linux_default.cfg" und "ois_linux_fs.cfg" befinden.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023