Checkmk + Conky: Check-Status als Desktop-Widget
Gerade haben wir Euch Conky vorgestellt, ein Systemmonitor (und mehr), der wunderschöne Desktop-Widgets mit beliebigem Inhalt erzeugen kann. Und da die Widgets bei Bedarf auch als Teil des Desktop-Hintergrunds ganz unaufdringlich ihren Dienst tun können, liegt doch eine Checkmk-Integration nahe - und ist spielend einfach! Und ja, hier wird quasi eine Monitoringlösung mit einer - sehr andersartigen ;) - Monitoringlösung gemonitort ...
Checkmk in Conky
Im oben verlinkten Conky-Artikel habt Ihr am Ende eine lauffähige Conky-Konfiguration, die die CPU-Auslastung anzeigt und "Hallo Welt" schreibt - diese beiden Zeilen könnt Ihr löschen und mit folgender Zeile ersetzen. Im Widget sollen hier 10 Statusmeldungen zu Local Checks (was das ist zeigen wir hier im Video und hier im Text) angezeigt werden:
${exec cmk -d myhost|egrep '^< <<local>>>' -A10 | tail -n +2}
Hier wird also mit cmk -d myhost ein Dump der kompletten Agentenausgabe ausgelesen (mehr dazu im Checkmk-Handbuch) und mit egrep nach dem Bereich local gefiltert - der Rest räumt nur den Text etwas auf. Aufgerufen werden muss das Skript natürlich als Instanz-Nutzer, beispielsweise mysite. Damit dieser auch etwas Grafisches über den X-Server ausgeben darf, braucht er noch entsprechende Rechte:
xhost +SI:localuser:mysite
Anschließend ruft Ihr das Skript als Nutzer mysite auf:
conky --config=/home/NUTZER/.mein_conky
Achtet auf einen kompletten Pfad, schließlich greift Ihr auf eine Konfiguration im Verzeichnis von Nutzer NUTZER zu, seid aber selbst als Nutzer mysite angemeldet. Und nun sollten dann die Ergebnisse erscheinen.
Der Übersicht halber hier nochmal ein kompletter, beispielhafter Code für die Conky-Konfiguration; im Gegensatz zum Beispiel aus dem Conky-Artikel ist das Interval hier aber auf 600 Sekunden gesetzt:
conky.config = {
alignment = 'down_left',
default_outline_color = 'white',
default_shade_color = 'white',
double_buffer = true,
font = 'DejaVu Sans Mono:size=15',
gap_x = 5,
gap_y = 10,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
update_interval = 600,
use_xft = true,
own_window_transparent = true,
}
conky.text = [[
${exec cmk -d myhost|egrep '^< <</local><local>>>' -A10 | tail -n +2}
]]
Wer den ganzen Tag auf Checkmk starrt braucht vermutlich nicht noch eine Ansicht, aber wenn Ihr das Monitoring quasi nebenher betreibt, habt Ihr so eine unaufdringeliche Lösung, einzelne Dinge aus dem Monitoring im Auge zu behalten.
Mehr zu Checkmk haben wir hier.