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.
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.