Überwachung via Jumphosts / Parents. Piggyback?

Hallo zusammen,

einige Hosts frage ich aufgrund von Firewalls via SSH ab, das klappt seit gefühlten Ewigkeiten auch ganz gut. Sogar über Jumphosts. Die Regel “Individual program call instead of agent access” war bisher auch ausreichend, da es nur einen Jumphost gab und die Magie über $HOSTNAME$ passierte.

Die neue Aufgabenstellung ist: Wird die Anzahl der Jumphosts größer, müsste man für jeden Jumphost eine eigene Regel erstellen. Gibt es da eine Möglichkeit die “Parents” (ist jeweils immer nur einer) zu parametrisieren? Das z.B. ssh -J username@$PARENT$ username@$HOSTNAME$ aufgerufen wird? Kann der Jumphost den Agenten des dahinterliegenden Hosts (idR einer, in Ausnahmefällen max. 2) sonst noch irgendwie triggern und/oder via Piggyback oder ähnlichen Mechanismen weiterleiten?

Viele Grüße
David

Hi David,

soweit ich das sehe gibt es kein Macro, das den Host Parent enthält (wäre auch nicht ganz trivial, da ein Host ja mehrere Parents haben darf.)

du könntest aber die ssh config Datei nutzen, denn Checkmk führt ja einfach den ssh Befehl auf der CLI aus, also greift die SSH config auch ganz regulär:
https://wiki.gentoo.org/wiki/SSH_jump_host
ob du die dann per Hand baust, oder dir über die REST-API/Livestatus eine Hostliste ziehst, parents parsed und die ssh config automatisiert schreibst, ist dann dir überlassen :slight_smile:

viele Grüße
Gerd

2 Likes

Oder ein zusätzliches Host-Attribut, das den Jump-Host enthält.
Das sollte als Macro für die CLI verfügbar sein.

2 Likes

stimmt - gemäß inline help geht das auch. Dann muss man nur noch ein Tag oder Label bauen, damit man 2 unterschiedliche “individual check command” Regeln bauen kann, je nachdem ob custom host attribute genutzt werden soll oder nicht (falls es noch Hosts gibt, die man per ssh aber ohne jump host monitort

Aber ist vllt trotzdem der schönere Ansatz weil man dann auch im Checkmk sieht, dass ein Jumphost genutzt wird. (an die ssh config denkt ggfs. nicht jeder, bzw. sieht man sie halt ohne selbst SSH Zugriff zu haben auch nicht.)

1 Like

Das klingt nach einer Lösung mit vertretbarem Aufwand, hab bisher noch nicht mit Host-Attributen gearbeitet - schau ich mir mal an. Danke.

Bisher habe ich die Unterscheidung über Host-Tags gelöst (agenttype / datasource), die dann entsprechend über die Verzeichnisstruktur vererbt werden.

1 Like

Sorry für die späte Rückmeldung, Ostern kam dazwischen :slight_smile:
Mit einem zusätzlichem Hostattribut funktioniert es prima über den individual program call ssh -J username@$_HOSTJUMP$ username@$HOSTNAME$. Danke @r.sander

@gstolz: Ja, so hatte ich es bisher auch. Über die Taggruppe agenttype wird bei mir festgelegt wie der Agent aufgerufen wird: normal, über Jumphosts (SSH) oder eben jetzt noch mittels zusätzlichem Hostattribut.