Chkmk hosts hinter nat

Hallo Chkmkler!

Ich möchte verschiedene Hosts die sich in einem Remote Netzwerk befinden via Natregeln monitoren.

Meine Idee der erste mit port 6556 der nächste mit port 6557 etc.

Frage wie sage ich dem Agent, dass er auf einem anderen Port arbeiten soll?

Oder ist die ganze Idee so nicht gut?

Danke für die Tipps!!

Wie sieht denn die Infrastruktur hinter dem NAT-Gateway aus? Lässt sich dort ein Jumphost einrichten, der die Anfragen weiterleiten kann? Das ist konfigurativ oft einfacher, als für jeden Host einen eigenen Port einrichten zu müssen.

Jumphost wäre möglich.

Aber wie würde ich denn den agents sagen, daß sie auf einem anderen Port laufen?

Gibt es irgendwo ein how to betr. Jumphost?

Auf dem JumpHost könnte ein Webservice laufen, der je nach URL-Parameter den Agenten eines Hosts anspricht und die Daten liefert. Auf dem CheckMK-Server läuft ein Spezial-Agent (curl), der diesen Webservice mit dem jeweiligen Hostnamen anspricht.

Etwas ähnlich lässt sich auch via SSH mit der Option -J realisieren.

Könntest du das genauer erläutern oder mir eine Quelle nennen wo ich das nachlesen kann?

Und hartnäckig frage ich nochmal wie ich einem Agent beibringen kann auf einem anderen Port als dem Standard Port zu laufen.

Danke!!

Hallo nochmal!

Was das ändern der Ports angeht bin ich ein Stück weiter.

Hätte ich die Doku vernünftig gelesen wäre mir klar geworden wie man das unter Windows macht! :weary:
Sorry!

Bei Linux allerdings scheitere ich.

Wenn das jemand kurz erläutern könnte wäre super!!

Danke im voraus!

Hallo @antiager

Nun, das sollte auch ueber die Dokumentation zu finden sein, z.B. hier. Solltest Du Deine Agenten ueber xinetd ansprechen, dann musst Du nur den Port in Deiner xinetd Konfigurationsdatei aendern (meistens /etc/xinetd.d/check-mk-agent) und
xinetd neu laden/starten.

Solltest Du das systemd socket verwenden, dann kann man den Port im Unitfile
ueber die Direktive ListenStream=<PORT>.

Hilft Dir das weiter?

Gruesse,
Thomas

Danke für deine Hilfe!

Ich habe ein deb Paket mit dpkg --install unter debian buster installiert. Ein Verzeichnis /etc/xinet.d wurde zawr angelegt abe wird offensichtlich nicht verwendet.

Ich habe im Unit-File die Option ListenStream geändert. Anscheinend starte ich den Dienst nicht richtig. Jedenfalls läuft er jetzt weder auf dem Standardport noch auf meinem geänderten Port.

Ist systemctl restart daemon richtig?

??

Danke!!

Hi @antiager

Nachdem Du ein Unitfile veraendert hast, musst Du meistens erstmal systemd darueber mit systemctl daemon-reload informieren. Ich glaube dass man das weglassen kann, wenn man systemctl edit --full check_mk.socket verwendet.

Auf jeden Fall bringt dann, ein systemctl restart check_mk.socket den gewuenschten Effekt.
Vergiss nicht, dass diese Datei mit grosser Wahrscheinlichkeit, bei einem Update ueberschrieben wird, sodass Du die Aenderungen dann wiederholen musst.

Gruesse,
Thomas

Danke!!!

Das wars!! :grinning:

Es könnte auch die Richtung der Datenübermittlung umgekehrt werden, von Pull zu Push. Dann schicken die Hosts die Agentendaten zum Monitoring-Server.