Custom Host Attributes mit Default-Values?!

Hallo zusammen,

ich habe eine simples Host Custom Attributes für eine manuelle Port-Zuwahl erstellt.
Dieses Attribute soll nur gesetzt werden, wenn der Standard-Port anders ist.

Genutzt soll dies insofern, dass ich den Port prüfe auf Erreichbarkeit.
Wie schaffe ich es jetzt allerdings, dem Port-Attribute ein Default-Value zu geben,
ohne es jedem Host manuell zu setzen? Kann man das auf der Console in den Host-Attribute settings abfangen oder im Check, bevor der TCP-Check ausgeführt wird?

Habe die Standardvariablen “$_HOST$” schon ausprobiert, allerdings birgt dies Probleme bei einem leeren Feld und im Check selber konnte ich Sie bisher auch nicht erfolgreich abfragen.

Danke vorab für Infos. Hab das Gefühl, ich bin gerade einfach nur blind.

PS: Wenn ich den Host irgendwie im Check herausfinden könnte, wäre das auch ausreichend. Allerdings funktioniert ‘node_info’ bei active-Checks nicht. Gab es hierfür nicht auch eine Variable? $HOSTNAME$ klappt leider auch nicht, da die erst bei der Übergabe ans Skript entschlüsselt wird.

Hallo,
das löst man am besten über Host-Tags. Der erste Wert ist dann der Standardwert für alle Hosts. Abweichungen vom Standard wählst Du entsprechend aus der Portliste.

Karl

Hallo kdeutsch,

an sich eine gute Idee, wenn ich dies aber manuell Pro Host auswählen müsste, bzw. die Hosts in die Regeln pflegen müsste, wäre der Aufwand ziemlich hoch.
Vor allem ab +3000 Hosts :wink: und dann bedenke noch die mögliche Vielzahl an Ports die ich pflegen muss.

Ich meine, so etwas ähnliches schon mal gemacht zu haben, finde aber leider nicht mehr die Datei, noch kann ich mich daran erinnern =(

Es hatte irgendwas damit zu tun, dass ich während des Checks, also der Übermittelung der Werte an das Nagios-Plugin, die Host-Elemente abfrage. Ich weiß nur aktuell nicht, wie ich da dran kam.

An den Classic Active Check kannst alle normalen Macros übergeben und die selbst definierten Variablen als Parameter halt.
Was dein active Check dann mit den Parametern macht ist eine andere Frage :slight_smile:

Das von dir erstellte Custom Attribute kannst du mit einem Default Value versorgen indem du auf dem Root Folder deiner CMK Instanz einfach das Attribut auf einen bestimmten Wert setzt.Dies wird dann erstmal auf alle Objekte vererbt.

@andreas-doehler war - wie immer - schneller :slight_smile:

1 Like

Danke für die Antwort, @andreas-doehler, aber genau das war ja nicht gewollt ^^
Sofern das Attribute NICHT genutzt wird, soll halt der Default gelten. Habe es aber mittlerweile selbst geschafft.

Habe mir einfach die Informationen mithilfe von:
"config = _config._extra_host_attributes(host_name()) "

ausgelesen. Da stand dann mein Attribute mit Wert drin oder eben auch nicht.
Somit kann ich einen active-Check für alle Hosts verteilen, OHNE zwingend den Wert gesetzt zu haben.

Danke nochmal an alle :wink:

RE: mit “_config” ist “import cmk_base.core_config as _config” gemeint.