Nagios: Zwei IP's pro Rechner, Check Dienst auf zweiter IP

german

#1

Hallo zusammen,

Ich benötige eine kleine Denkhilfe zu Nagios, ist bestimmt supereinfach lösbar.
Ausgangslage: Ein managed Client hat zwei DNS-Namen/IP-Adressen: “client.internal.lan” sowie “externalname.mydomain.org”. Die UCS-Domäne ist “internal.lan”, dementsprechend klappt auch die Überwachung von “client.internal.lan” problemlos.

Per Nagios soll nun ein Dienst auf “externalname.mydomain.org” überwacht werden, was nicht gelingen mag.

Ich dachte im ersten Moment daran einen neuen “ip managed client” mit Namen/IP “externalname.mydomain.org” und Abhängigkeit zu “client.internal.lan” anzulegen, darüber dann die Checks laufen zu lassen. Das klappt aber nicht, da die externe IP-Adresse ja auch schon beim Rechnerobjekt “client.internal.lan” angegeben wurde. Ist das prinzipiell der richtige Weg den ich da versuche? Und wenn ja, muss ich erst die externe IP-Adresse beim Rechnereintrag “client.internal.lan” löschen damit das funktioniert wie gedacht?

Oder anders/allgemeiner gefragt: Wie löse ich die Aufgabe am geschicktesten?

Dankeschön und Gruß
Lutz Willek


#2

Moin,

ich gehe davon aus, dass Sie die UCS-Nagios-Integration nutzen und nutzen wollen, richtig? Dort ist es so, dass die überwachten Hosts anhand ihres Hostnamens in die Nagios-Konfiguration eingetragen werden. Das lässt sich wohl auch nicht ändern.

Daraus folgt, dass die DNS-Auflösung des Hostnamens entscheidend dafür ist, welche IP-Adresse bei den Checks kontaktiert wird.

Wenn Sie nun einen Dienst haben, der explizit nur auf der anderen IP-Adresse lauscht, dann sehe ich keine Möglichkeit, diesen mit Bordmitteln zu überwachen. Was Sie natürlich machen können, ist selber einen Nagios-Konfigurations-Schnippsel anzulegen. Solche Dateien können im Verzeichnis »/etc/nagios3/conf.local.d« abgelegt werden. Dieses Verzeichnis wird von Nagios komplett eingelesen und vom UCS nicht angefasst.

Gruß,
mosu


#3

Servus Moriz,

und vielen Dank, genau diesen Denkanstoß habe ich gebraucht. “Das Thema ist gelöst”.
Als Ergänzung eventuell noch folgendes, falls jemand mit ähnlichem Problem per Suche auf diesen Thread stößt:

Diese Aufgabe ist rein mit der UCS-Nagios-Integration gut lösbar, aber nur wenn man die DNS-Hostnamen strikt von den DNS-Dienstnamen die dieser Host später übernehmen soll trennt. Das ist (auch ganz unabhängig UCS) eigentlich auch best-practice. Kurz: Hostname != Dienstname
Wir haben das leider auch nicht überall durchgehalten.

Um das zu erklären noch einmal die Ausgangslage:
Die interne Domäne ist “internal.lan”, die externe Domain ist “mydomain.org”. Es soll der Dienst “zarafa” von außen erreichbar unter “zarafa.mydomain.org” angeboten (und natürlich mit Nagios überwacht) werden.

Konkretes Beispiel wie das sehr gut mit UCS-Nagios-Integration funktioniert:

  • Der Hostname des Rechners ist NICHT “zarafa”, sondern bspw. “mta4”. (Trennen: Hostname != Dienstname)
  • Nur der Name “mta4” mit fqdn “mta4.internal.lan” wird zusammen mit seiner internen IP in das Rechnerobjekt “mta4” eingetragen

    • Darüber laufen dann alle internen Nagios-Checks (z.B. die UNIVENTION-* Checks)
  • Ein weiterer “IP-Managed-Client” mit Name “zarafa” und Domain “mydomain.org” wird angelegt

    • In den Einstellungen bei Nagios Abhängigkeit zu “mta4.internal.lan” angeben
    • Darüber dann die “externen” Checks laufen lassen

–> Klappt alles supergut. “IP-Managed-Clients” werden scheinbar nicht in die Lizenzzählung mit einbezogen, von daher ist das auch in größeren Umgebungen so abbildbar.

Konkretes Beispiel wie es nicht mit UCS-Nagios-Integration funktioniert:

  • Der Hostname des Rechners ist “zarafa”.

Das Rechnerobjekt “zarafa” mit fqdn “zarafa.internal.lan” wird automatisch bei der Installation bzw. join in die Domäne angelegt.
Da wie Moritz schrieb die Checks ja über den Hostnamen laufen ist es nicht möglich zwei Rechnerobjekte mit dem gleichen Namen “zarafa” anzulegen. Hier bleibt dann scheinbar nur der beschriebene Weg im Verzeichnis »/etc/nagios3/conf.local.d« von Hand die benötigten Nagios-Konfigurations-Schnippsel anzulegen.

Gruß
Lutz Willek


#4

Moin,

Das ist absolut korrekt und genau so gewollt, um beliebig viele einfache Mappings IP ←→ Hostname & DHCP-einträge verwalten zu können, ohne dass es gleich sau teuer wird. Denk an Drucker, Nicht-Domänen-Clients, Testinstallationen etc.

Gruß,
mosu