ich war ganz begeistert als ich festgestellt habe, dass es ein Ansible Modul gibt.
Leider bin ich bei der Implementierung auf ein ganz Elementares Problem gestoßen.
Da ich meine Checkmk Umgebung als Cluster betreibe und die Abfragen aber nicht über die Cluster IP möglich sind, müssen auf meinen zu überwachenden Hosts jeweils 3 IPs in der Firewall freigeschalten werden.
Das Ansible Modul bietet jedoch nur die Möglichkeit, eine IP per Firewall freizuschalten.
Gibt es Lösungen dafür oder übersehe ich etwas?
Ansonsten werde ich wohl wie bisher auf eigene Ansible Skripte setzten müssen.
Du meinst gewiss die Collection und darin unsere agent Rolle, richtig?
Dein Anwendungsfall liegt jenseits von Checkmk, also das gewünschte Feature passt nicht in die Collection. Ich würde einfach einen zusätzlichen Task bauen, der die IPs freischaltet. Ggf. als pre_task.
Sehe ich wie Robert, genau so funktioniert es in einer geclusterten checkmk Appliance.
Alternativ dürft ihr da gerne auch noch mal über ein iptables rewrite für den Ausgehenden traffic auf die Cluster IP nachdenken
Dann sind Migration von single Systemen einfacher (Firewalls, only_from etc.) und man spart sich das Eintragen der beiden Cluster Node IPs.
Ich stimme zwar nicht umfangreich zu, dass das Teil der Collection sein sollte, aber da wir damals einen Pull Request zugelassen haben, der die Funktion grundsätzlich erlaubt (ich wusste, das beißt mich mal), kann ich nun schlecht mauern.
Ich bin zwar immer noch der Ansicht, dass man die Firewall seiner Server losgelöst von Checkmk managen sollte (es soll auf den Servern noch andere Anwendungen neben dem Checkmk Agenten geben), aber ich wäre einen Pull Request, der die Funktion nachrüstet nicht abgeneigt.
Passenderweise gibt es aktuell auch ein Issue, bei dem ein Nutzer festgestellt hat, dass die Firewallfreischaltung nur funktioniert, wenn man den Checkmk Server als IP angibt. FQDN funktioniert nicht.
Ich schreibe das auch in mein Backlog, aber kann nicht sagen, wann ich mir die Problematik ansehen kann. Bis dahin stehe ich zu meinem Lösungsansatz oben, bzw. freue mich auf Pull Requests. Ein Issue mit dem Featurewunsch geht natürlich auch.
Habe nun eine Minimalversion der gewünschten Funktionalität eingebaut.
Ich bitte explizit euch mal zu schauen, ob das passt und gerne auch eine Review dazulassen.
Mir ist bewusst, dass man das noch recht weit aufblasen kann (DNS Auflösung, Verifizierungen, etc.) aber ich habe mich nach kurzer Evaluation dagegen entschieden. Warum? Weil die Collection für alle funktionieren soll und ich nicht für ein paar Annehmlichkeiten 90 % der Nutzenden mit Abhängigkeiten belästigen möchte, die diese gar nicht brauchen.
Alles, was sich aber ohne Abhängigkeiten machen lässt, darf natürlich gerne angemerkt werden.
Ich verstehe, dass man anhand der Nachfrage priorisieren muss, welche der Ideen man umsetzt.
Ich danke dir deshalb noch einmal besonders für die Umsetzung!
Wir werden uns das Feature anschauen und dir dann Rückmeldung geben.