Host IP refresh via Hostname (crontab, ipaddresses.cache)

Hallo zusammen,

ich möchte gerne, dass CheckMK IP-Änderungen von Hosts automatisch findet und zeitnah hinterlegt.

Der Host wird mit FQDN angelegt und das Feld IP4 bleibt leer/deaktiviert. Die Namensauflösung via nslookup funktioniert ebenfalls im LAN.

Dazu habe ich den crontab für cmk --update-dns-cache auf 10 Minuten gesetzt. Dies funktioniert auch, das sehe ich am regelmäßigen Zeitstempel der Änderung und aktualisiertem Inhalt der var/check_mk/ipaddresses.cache Datei.

Nur leider wird dies nicht an das Dashboard durchgereicht. Dies greift erst, wenn ich in die Hostkonfiguration und “Speichern & Verbindungstest” gehe, dort wird es im PING Fenster aufgelöst, anschließend muss ich diese “Änderung” aktivieren. Ebenfalls bringt es nichts, wenn ich manuell “Check neu ansetzen” auslöse (womit ich notfalls noch leben könnte).
Dies ist allerdings leider recht unpraktisch.

Aktuell ist also noch die .80 hinterlegt, richtig wäre .85.
Ansicht (Check alle 15 Minuten via Regel):
Status - IPv4 - Hosts - Alias - Symbole - OK - Wa - Un - Cr - Pd - Att. - Checkint. - Geprüft - Nächster Check

Habe ich etwas übersehen oder noch nicht richtig konfiguriert?

Vielen lieben Dank für eure Hinweise.

Hallo,

Ich denke der Ausfall bei Facebook hat gezeigt wie anfällig DNS ist. Ich persönlich halte daher nach wie vor daran fest die Hosts im Monitoring ausschließlich mit deren IPs anzulegen, außer es gibt einen driftigen Grund dafür es anders zu machen.

Der Beitrag spiegelt ausschließlich meine persönliche Meinung wieder :wink: Wer darin etwas anderes sieht sollte zum Optiker gehen :rofl:

Schönes Wochenende

Michael

1 Like

Vielen Dank, gibt es noch andere Meinungen?
Eine feste IP ist bei manchen Hosts keine Option (Clients im home office via VPN, DHCP etc.). Es geht auch um das lokale DNS via Domäne oder Router.
Allgemein ging es mir um das Verständnis und den praktischen Nutzen dazu.

Ebenfalls ein schönes Wochenende.

Spontan fällt mir dazu nur eine Haudrauflösung via cmk -R als crontab ein.
Dies ist aber ggf. etwas performancelastig und stoppt den Kern zwischenzeitlich, was bei aktiven Arbeiten störend sein kann.

Gibt es vielleicht eine softe Variante?

Hi @rausch,
ich hoffe ich habe dein Problem richtig verstanden und wir reden jetzt nicht aneinander vorbei.

Wenn du im Checkmk mit DNS Auflösung arbeiten möchtest, dann musst du folgendes beachten.

Lässt du das IP Adress Feld leer und gibst lediglich den Hostnamen im Checkmk an, dann wir dein Checkmk bei der ersten Discovery einen nslookup versuchen und die entsprechende IP Adresse im Cache hinterlegen. Dieser ändert sich erst wieder, wenn du diesen via Button refreshst oder “unter der Haube” den Cache neu erstellst.
In deinem Fall (sofern ich es richtig verstanden habe :sweat_smile:) möchtest du bei jedem Check Intervall die aktuelle IP via DNS erhalten. Dazu musst du im IP Adress Feld ebenfalls den DNS Namen hinterlegen. Dadurch macht Checkmk bei jedem Check Intervall erst eine DNS Abfrage und holt sich die aktuelle IP Adresse.
Ich denke das sollte dein Problem hoffentlich lösen. Via Cronjobs etc. das Ganze zu realisieren würde ich nicht empfehlen.

Hier der offizielle Auszug aus der Dokumentation:

Freundliche Grüße
Norm

2 Likes

Hi @Norm,
Danke für die ausführliche Antwort.
Diese Lösung habe ich auch gesehen und probiert.

In erster Linie geht es mir nicht um die DNS-Auflösung im Hintergrund, sondern auch um die Auflösung und besonders die Ausgabe der aktuellen IP-Adresse (2. Feld von links im Bild). Mit der Lösung steht dort ebenfalls leider der FQDN.

Oder gibt es eine Einstellung, um sich auch das trotzdem anzeigen lassen zu können?
Notfalls per local script durchreichen? :sweat_smile:

Hi @rausch,

du kannst mithilfe eines Aktiv-Checks die DNS / IP Informationen abfragen.

Sieht dann als Service so aus:

Das kannst du wie gewohnt via Regeln anlegen und nennt sich Check DNS service:
image

Vielleicht hilft das ja? :sweat_smile:
Gruß Norm

1 Like

Hi @Norm,
das klingt fantastisch und simple.

Welche Werte brauche ich in der Einrichtung der Regel, um es möglichst für alle Geräte anzuwenden?

Lieben Dank!

EDIT:
ich habe die Parameter gefunden, denke ich.
Hilfreich war auch der Thread.

Allerdings überprüft der Service nun nur ob eine Änderung der IP stattgefunden hat und gibt ggf. einen Alarm raus. Was ja auch schon gut ist.

Aber ich wollte im Idealfall erreichen, dass die neue IP in CheckMK hinterlegt wird, sodass mir der Host nicht als “down” angezeigt wird. Deswegen die Hammer-Lösung mit den crontabs.

Deshalb die nächste These: via Alert-Handler ein Script mit cmk -R auslösen lassen.
Also wenn der der DNS Check Service CRITICAL ausgibt, greift der Alert-Handler und lädt den Kern kurz neu. Das wäre die softe “Haudrauf”-Variante, weil der Fall weniger häufig eintreten sollte als z. Bsp. via crontab alle 30 Minuten.
Ist das realistisch?

Unabhängig davon: lieben Dank!
Das Forum ist super. :smiling_face_with_three_hearts:

Hi, ich habe zwar keine Lösung…aber ich finde, dass checkmk irgendwie ein wenig umständlich reagiert, wenn ein System eine andere IP bekommt. Ich habe ebenso hin und wieder die Situation, dass ein Host in ein anderes Netz umzieht und ich dann immer umständlich den DNS Cache refreshen muss. Checkmk könnte doch eigentlich auch selbstständig erkennen, dass ein DNS Name wieder erreichbar ist und sich die IP geändert hat. Eine Regel wäre gut, wo man dann sagen könnte, dass checkmk einfach die gecachte IP updatet?!

VG

1 Like

Genau das ist unser Knackpunkt.
Mit der ipaddresses.cache ist ja je nach crontab (Standard alle 24h um 00:05 Uhr nachts) die aktuelle IP hinterlegt. Aber CheckMK zeigt das Gerät dann als “offline” an, obwohl beim Anlegen des Hosts bewusst nur FQDN hinterlegt wird.
Deswegen meine “abenteuerlichen” Thesen, um dies abzubilden.

Wir haben uns auch für den FQDN entschieden um IP Changes abbilden zu können, dass der Host nach einem IP-Change als down angezeigt wird, war uns vorher nicht bewusst und finden wir auch eigentlich unschön. Eventuell kann man da mal bei den Feature Requests eine Verbesserung vorschlagen. Allerdings scheint sich für die Requests niemand so richtig zu interessieren :face_with_hand_over_mouth:

1 Like

Hallo,

eventuell hilft es euch, den DNS-Cache komplett zu deaktivieren? Das geht in den global Settings:
image

Problem dabei ist, dass bei der Nutzung von SMART-Ping (checkmk Micro Core) sehr viele DNS-Anfragen durch das Netz fliegen werden.

HI @tosch
die Variante hatte ich damals beim Aufsetzen meiner Umgebung hier im Forum diskutiert und mir wurde ziemlich davon abgeraten, das checkmk DNS Cache Feature nicht zu nutzen. Da ein IP Wechsel bei uns aber auch relativ selten und wenn dann tagsüber stattfindet, können wir das händisch handeln. Aber trotzdem finde ich die aktuelle Umsetzung nicht so toll.

1 Like

Die Gründe, warum es so umgesetzt ist, liegt eben auch an der Weise, wie der Host-Status ermittelt wird, ob der CMC eingesetzt wird und wie groß Landschaften sind. Wenn ich mir vorstelle, das in unseren Umgebungen (>5000 Hosts) die SMART-Pings alle 5 Sekunden eine DNS-Lookup machen, geht im Netzwerk nicht mehr viel anderes als DNS-Traffic. Ich finde, dass die Möglichkeiten, die checkmk bietet, um rund rum zu arbeiten und Sonderfälle abzubilden doch durchaus schon sehr ausgereift sind.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.