Hallo zusammen.
Eine kleine Gedankenspielerei meinerseits, die nun langsam Formen annimmt.
Ursache für dieses Experiment sind nicht vorhandene oder unübliche Kommunikationswege sowie “seltsame” Sicherheitsrichtlinien.
Beispiel: Kein VPN/Tunnel/Verbindung vom Master zum Slave möglich.
Alternativer Lösungsansatz (bisher): Tunnel vom Slave zum Master für Reverse-SSH-Tunnel (wird nicht mehr genehmigt).
Möglicher Lösungsansatz: Die Cloud-Edition könnte helfen, aber bei 5 Agenten und 500 SNMP-Devices leider nicht zielführend.
Weiterer alternativer Lösungansatz: livedump/cmcdump, verpackt als S-MIME-Mail (oder irgendwie von A nach B). Geht, aber hat auch Nachteile.
Was könnte helfen bzw. wie gehen andere Applikationen vor?
Beispiel IoT: Lokal läuft ein Collector, der alles per MQTT in die Cloud (zum Broker) schickt. Da steht nicht “VPN”, “Tunnel” oder anderes “böses” Zeug im Namen? Genehmigt!
[ja, ich finde viele Ansätze und Alternativen zu den “bösen” Dingen auch gruselig, aber man muss nehmen was man kriegt].
Meine Idee ist nun, über einen Alert Handler alle Ereignisse auf dem Slave abzufangen (Alert Handler - Auf Probleme automatisiert reagieren) und per MQTT-Client einem Broker zu übergeben (Policy für MQTT: 1x erfolgreich abliefern beim Broker).
Der Master holt sich über eine MQTT-datasource dann die Zustände vom Broker und tütet diese direkt in den Livestatus ein (Livestatus command reference; PROCESS_*_CHECK_RESULT).
Liefert die datasource kein Ergebnis mehr, wird der Slave-Status CRIT/DOWN und ich kann entsprechend alarmieren. Einzig das dopplete Anlegen aller Hosts auf dem Master gefälllt mir an dieser Idee nicht. Vielleicht löse ich das über einen Slave-Fake-Host mit “Piggyback”-Services.
Wenn es bessere Ansätze dafür gibt, sei hiermit das Brainstorming eröffnet.
Gruß
Stefan