Eigene Labelerkennung bauen?

Hallo,
kann man eigentlich eine eigene Label-Erkennung bauen?
Konkret:
Ich möchte Labe für Apache und nginx setzten und nutzen.

Gruß
Talf

1 Like

In der Process discovery kann man Host Labels setzen.

1 Like

Wir haben ein Kommandozeilentool, um z.B. HW/SW-Inventorydaten zu verwenden:

3 Likes

Ich habe bspw. ein Plugin, /usr/lib/check_mk_agent/plugins/detect_xen.sh, das erkennt, ob eine Xen Dom0 oder DomU vorhanden ist. Kein Xen, keine Ausgabe. Das Label wird mit der Agentenausgabe übertragen und kann dann im Monitoring verwendet werden.

<<<labels:sep(0)>>>
{"xen/dom":"U"}
1 Like

Letzte Woche gerade den Interface DOM Check so erweitert, dass den Typ des GBICs als Label mit an den Service schreibt. Da ohne GBIC Typ die Schwellwerte recht sinnlos sind bei dem Check.

2 Likes

So etwas lässt sich auch über eine Spool-Datei realisieren, in der dann einfach die <<<labels>>>-Sektion drinsteht. Die Spool-Datei kann von beliebigen Tools in /var/lib/check_mk_agent/spool erzeugt werden, der Inhalt wird dann mit den Agentendaten übertragen. Dann muss nicht jedes Mal ein Agentenplugin laufen.

1 Like

Das ist ein sehr schönes Beispiel dafür, was man alles sinnvolles mit dem Spool-Verzeichnis machen kann. Danke @r.sander.

Ich nutze die Gelegenheit mal, um einen neuen Artikel im Handbuch zu bewerben:

Vielleicht könnten wir in der Checkmk Knowledge Base mal “schöne Dinge, die man mit dem Spool-Verzeichnis machen kann” sammeln.

4 Likes

Labels setzen per Spool-Directory oder Agenten-Plugin kommt die Tage eh noch in den Labels-Artikel. In meinem Fall kann ich das Plugin halt auf alle Hosts im Monitoring ausrollen und habe immer Xen Dom0/DomU/nix richtig erkannt. Ein grep in /proc ist jetzt nicht soooooo aufwendig:

#!/bin/bash
if [ -d /proc/xen ] ; then
	echo '<<<labels:sep(0)>>>'
	if grep "control_d" /proc/xen/capabilities >/dev/null 2>&1; then
		echo '{"xen/dom":"0"}'
	else
		echo '{"xen/dom":"U"}'
	fi
fi
2 Likes

Hallo,
funktioniert aber nur bei laufenden Prozessen.
Ich möchte mir z.B. Labels setzten wenn bestimmte Tools installiert sind.
Hintergrund:
Im Rahmen der Übernahme durch ein Unternehmen müssen bestimmter Audit-Tools installiert werden.
Ich nutze chechmk um den Überblick zu behalten:
1)
Tool installiert
2)
wann ist das Tool zuletzt gelaufen (Kontrolle der Ausgabedatei)

Damit behalte ich den Überblick und kann jederzeit hübsche und bunte Listen ausgeben :wink:
Gruß

Hallo,

wie suchtfindet ihr Eure Labels eigentlich?
Wir haben nun alles auf Labels umgebaut aber finden sie nicht.
Mit HostGroups finden wir alles via Quicksearch (hg: ).

Solange man Labels nicht suchen kann wie die HostGroups, können wir die Labels nicht nutzen.
was habt Ihr da für eine Lösung?

Grüße
JP

Man kann im Quicksearch Feld auch nach Labels suchen. Dazu muss “hl:” für Host Labels oder “sl:” für Service Labels vorangestellt werden.

Beispiel: hl:cmk/kubernetes:yes sucht nach Kubernetes-Objekten

2 Likes

Hallo Havy,

ja das kennen wir aber das ist ja keine Suche, das ist eine Definition.
Denn man muss das Label komplett und richtig schreiben, dann hat man die Übersicht.
Das ist aber keine Volltext-Suche wie bei den HostGroups.
Darum können wir Labels so nicht nutzen, da sich das durch die ganze Software zieht das Problem.

Zum Thema Labels und Suche würde ich hier eher sagen - dafür sind die nicht direkt gemacht.
Jedenfalls nicht im Quicksearch. Bei der normalen Suche über Host/Service Search gibt er dir ja beim tippen einfach alle Label zur Auswahl wo dein getipptes drauf passt. Hier wäre die Frage an @sebkir oder auch @mschlenker ob so ein Features des Autovervollständigen auch für das Quicksearch geplant ist.

1 Like

Ihr könntet für jedes Host Label eine Host Group bauen. Und für Service Labels entsprechend auch.

duckundweg

2 Likes

Hallo Robert,

danke, das ist auch eine Möglichkeit aber wir wollten von dem Rule-Aufwand, den wir mit den HostTags und HostGrops haben wegkommen. So hat uns auch der Support geraten. HostGroups nun mit Host-Labels zu bauen ist dann wieder der selbige Rule Aufwand.
Gut wäre eben wenn wir Labels suchen könnten via Volltextsuche und String Erkennung beim eintippen, wie es auch bei den HostGroups geht in Quicksearch.

VG

Mir selbst ist davon nichts bekannt, wir schauen aber mal die UX-Verbesserungen für 2.2 durch, ob da etwas geplant ist. Ich persönlich fände eine Liste der Labels per REST API gut, aber auf den ersten Blick fällt mir nichts besseres ein, als eine Liste aller Hosts abzufragen und da die Labels rauszuziehen.

Oder halt über Livestatus:

lq 'GET hosts\nColumns: labels' | tr ',|' '\n:' | sort -u

4 Likes