Dazu nutzt unser Data2label die von Checkmk gesammelten Informationen, um die Konfiguration für weitere Tests und detailliertere Informationsgewinnung zu spezifizieren. Mithilfe der Checkmk-API extrahiert es aus vorhandenen Daten, beispielsweise aus dem Hard- oder Software-Inventory von Checkmk Host-Eigenschaften in Form von "Label". Diese können dann für die Monitoring-Konfiguration selbst oder auch für Filter in Checkmk-Ansichten genutzt werden. So kann beispielsweise ein sehr einfacher Test feststellen, ob es sich bei einem System um einen Linux-Server handelt. Ist die Antwort positiv, kann das Data2label-Plugin untersuchen, ob ein Webserver vorliegt. Finden sich beispielsweise die Begriffe Apache oder NginX in der Liste der installierten Pakete, dann handelt es sich sehr wahrscheinlich um einen Linux-Webserver. Je nach Ergebnis dieses Tests könnten dann weitere Apache- oder NginX-spezifische Monitoringchecks gestartet werden - auf Wunsch auch komplett automatisch, immer wenn neue Server in die Monitoring-Konfiguration aufgenommen werden.
Für die Checkmk-Konfiguration werden Merkmale von Hosts in Regelbedingungen verwendet. Die erwähnten Label sind da nur eines der möglichen Merkmale, aber sie helfen dem Admin auch dabei, Hosts auf simple Weise zu gruppieren. Jeder Label-Key kann dabei mehrere Label-Values haben. Die Labels stellen also ganze Dimensionen an Optionen bereit.
Über das angesprochene Hard-und Software-Inventory von Checkmk stehen die angesprochenen Informationen über das Betriebssystem, die installierte Software und sogar Versionsnummern zur Verfügung. Data2label nutzt zwei Ansichten (Views), die von den Beispielkonfigurationen abgefragt werden: inv_hosts_cpu und invswpac_search. Letzteres dient im Listing unten dazu, die installierten Webserver-Pakete zu finden.
Das folgende Listing zeigt das Beispiel, um bei installiertem Apache oder NginX die entsprechenden Label (software/apache:yes oder software/nginx:yes und beides mal software/webserver:yes) zu setzen:
1 {
2 'view_name': 'invswpac_search',
3 'args': {
4 'filled_in': 'filter',
5 'invswpac_name': '^(apache2|nginx)$',
6 },
7 'labelmap': {
8 'invswpac_name': {
9 'apache2': ['apache', 'webserver'],
10 'nginx': ['nginx', 'webserver'],
11 },
12 },
13 'label_prefix': {
14 'invswpac_name': 'software/',
15 },
16 'label_value': {
17 'invswpac_name': 'yes',
18 },
19 }
Derlei funktioniert selbstverständlich auch für Mailserver, erklärt Heinlein-Consultant Robert Sander: "Data2label automatisiert Konfigurationen, etwa aufgrund von installierter Software, so lassen sich dann gezielt Plugins für bestimmte Software an den Checkmk-Agenten über die Agentenbäckerei verteilen. Der Admin muss nicht mehr per Hand die Eigenschaft zuweisen, dass der neue Host ein Dovecot-Server ist, nur um einen IMAP-Check einzurichten. Mit dem Label "software/dovecot:yes" lässt sich der IMAP-Check automatisch zuweisen, sobald Checkmk per HW/SW-Inventory ein installiertes Dovecot entdeckt. Die Konfigurationssemantik ist dabei so flexibel, dass beliebige Ansichten (Views) von Checkmk nach Informationen abgefragt werden können."
Diese Konfigurationsdatei kann der Administrator in der Checkmk-Instanz in einem Verzeichnis $OMD_ROOT/etc/data2label ablegen. – Das Tool selbst kann via Cronjob regelmäßig gestartet werden, es liegt in $OMD_ROOT/local/bin und nutzt den Checkmk-API-Wrapper, der ebenfalls installiert sein muss. Die Labels, so Sander, ließen sich auch in JSON-Dictionaries spezifizieren, die in einem Spool-Verzeichnis des Checkmk-Agenten hinterlegt sind und zentral vom Konfigurationsmanagement (Puppet, Salt, Ansible, ...) bespielt werden. So könnten Admins zentrale Vorgaben machen, die das Checkmk-Monitoring automatisch umsetzt, sobald ein den Spezifikationen entsprechender Host im Netz "auftaucht".
Lust bekommen das Data2label-Plugin auszuprobieren? - Dann ran an die Tastatur. ;-)
Für uns hat sich Checkmk in den letzten Jahren zur "State of the Art"-Lösung entwickelt: Schnell, performant und mit vielen Automatisierungsmöglichkeiten, die das Admin-Herz höher schlagen lassen. Unsere Consultants geben ihr Wissen dazu gern in unseren Akademie-Schulungen Checkmk - Grundlagen und Checkmk - Fortgeschrittene an alle Admins weiter.
Bei individuellen Fragen zu Konzeption, Aufbau und Konfiguration von Checkmk stehen wir ebenso gern mit Rat und Tat zur Verfügung. Auch und erst recht zu fortgeschrittenen Themen wie komplexen Alarmierungsregeln oder kundenspezifischen Entwicklungen.
Schreiben Sie unserem Team unter support@heinlein-support.de.
Kommentare