Puppet facter facts als host labels im checkmk nutzen

Hallo,

Mit entzücken habe ich festgestellt, dass man wie folgt puppet facter facts als labels im checkmk nutzen kann:

Das plugin für den Agent:

cat /usr/lib/check_mk_agent/plugins/3600/labels.sh 
#!/bin/bash

export PATH=$PATH:/opt/puppetlabs/bin

echo '<<<labels:sep(0)>>>'
facter -j manufacturer virtual operatingsystem operatingsystemmajrelease  | jq -c ''

liefert z.B. diesen Output:

<<labels:sep(0)>>
{“virtual”:“physical”,“operatingsystemmajrelease”:“6”,“operatingsystem”:“RedHat”,“manufacturer”:“HP”}

Und beim nächsten Discovery sind die Host mit labes versehen.

cmk -D MYHOST | grep Labels
Labels:                 [manufacturer:HP], [operatingsystem:RedHat], [operatingsystemmajrelease:6], [virtual:physical]

Das das möglich ist habe ich durch Studium dieser Datei erfahren,
Dokumentation wäre auch nicht schlimm gewesen, habe ich aber leider dazu nicht gefunden.

/opt/omd/versions/1.6.0p6.cre/share/check_mk/checks/labels

Ich kann mir für meine Anforderungen so das data2tag sparen
https://github.com/HeinleinSupport/check_mk_extensions/tree/master/data2tag

Ich stelle aber gerade fest, dass anscheinend die host labels im checkmk nicht gelöscht werden, wenn die nicht mehr vom agent reportet werden, oder die values sich ändern ?

3 Likes

PS: Text snippets zu richtig bzw nicht zu formatieren scheint nicht die Stärke dieser Forensoftware zu sein.

Hi Mr. Beaker :smile:,

das ist eine verdammt nette Idee, daher werden wir mal prüfen, wie wir das aufnehmen können. Wird intern unter CMK-3503 geführt.

Vielen Dank & Gruß
Alex

1 Like

Es scheint mir aber so zu sein, dass wenn neue labels hinzu kommen oder labels
verschwinden, checkmk das nicht so richtig mitbekommt.

Ich habe mal testweise bei einem host ein label hinzugefügt.
Im Agent Output taucht es auch auf.

Und dann ein “Check_MK Discovery” “Reschedule check” ausgeführt, welcher meldet:

OK - no unmonitored services found, no vanished services found, 1 new host labels, rediscovery scheduled

Das neue label ist aber in der GUI nicht sichtbar.
Auch nach einem “cmk -O” nicht.
Was meint er mit “rediscovery scheduled” ?
Muss er nochmal später gucken ?

Ich hätte jetzt von dieser Regel erwartet das sie auch host labels dynamisch
hinzufügt oder löscht:

   Edit rule: Periodic service discovery
     Automatically update service configuration
       Add unmonitored & remove vanished services and host labels

Das scheint nicht ger Fall zu sein leider.

Die labels werden wohl hier als Datenstruktur pro host in ein file abgelegt:
~/var/check_mk/discovered_host_labels

Allerdings ist der Dateiname verkrüppelt, der fqdn ist testhost1.dev.mycompany.de
die datei heist dort /testhost1.prod.mycompany.mk d.h. ohne “.de”, find ich komisch.

hm, das wäre schon schön wenn die hostlabes bei einem “Check_MK Discovery”
im checkmk aktualisiert würden.

Wir haben z.B. ein puppet fact der den patch stand einens systems angibt,
und wenn der sich ändert ändert sich auch der puppet fact und mit dieser hier im thread besprochenden methode solle sich dann auch das check_mk label ändern, tut es aber nicht.