Check Relay
Wenn man auf der fernen Seite keine eigene Multisite-Instanz haben will oder kann, aber dennoch mehr als ein Host per check_mk (für andere Methoden, wie Ping oder SNMP ist diese Vorgehensweise nicht geeignet) überwachen will bietet sich folgenes an:
Szenario:
Ziel: Vom Nagios Server aus soll per check_mk, ausser Server A, auch noch Server B überwacht werden.
Vorgehensweise:
- Port (6522) auf dem Router auf Server A Port 22 weiterleiten
- Hinterlegen des Public-Key des Nagios-Users auf Server A
- Abfragen der Daten über SSH
Anzulegende Datei: /omd/sites/site-name/local/bin/check_mk_relay wobei site-name anzupassen ist.
#!/bin/sh ssh -q -p 6522 -i /omd/sites/site-name/etc/id_rsa -l root $1 "nc $2 6556"
Der Private-Key für den Nagios-User liegt im Ordner „/omd/sites/mhc/etc“.
all_hosts = [ "server-B|site-A", ] ipaddresses = { "server-B" : "127.0.0.1", } datasource_programs = [ ( 'check_mk_relay router-ip <HOST>', [ 'site-A'], ALL_HOSTS ), ]
Wobei „router-ip“ die externe IP des Routers ist und „server-B“ der interne Name under dem Server A, Server B kennt oder eben die IP von Server B.
Wenn SSH-Strict-Mode aktiv ist muss der Hostkey bei der ersten Verbindung bestätigt werden. Am besten bei einem ersten manuellen Test:
check_mk_relay router-ip server-B
Dies sollte dann den normalen „check_mk“-Output von server-B liefern.
Siehe: http://mathias-kettner.de/checkmk_datasource_programs.html