Post by Marco MoockÜberwacht werden soll, ob Netzwerkdienste erreichbar sind. Falls nicht,
soll gewarnt werden oder ggf. - ein Befehl ausgeführt werden.
Ah, OK, das ist der klassische Anwendungsfall für die von mir genannten.
Post by Marco MoockIch will meinen Fall möglichst einfach abbilden und kein Großprojekt
daraus machen, sprich ich will kein System, was extrem viel kann, dafür
aber auch viel Aufwand für die Einrichtung und Wartung benötigt.
Meine subjektive Einschätzung: Irgendwie gibt es nur mittelmäßige
Lösungen. Wenn jemand was besseres kennt, nur her damit ;)
* Nagios: Der Urahn der meisten dieser Systeme: Erfüllt den Zweck für
für das was du willst bestimmt, hat aber einige Einschränkungen,
würd ich mir heute für eine Neuinstallation nicht mehr antun. Früher
frei, irgendwann mal proprietär gegangen IIRC. Bauchgefühl: Veraltet,
obsolet.
* Icinga: Aus einem Rewrite von Nagios hervorgegangen, etwas komplex zu
installieren, die Dokumentation finde ich auch nicht so prickelnd,
macht aber sonst was es soll. Hab ich derzeit ohne große Begeisterung
oder Überzeugung daheim im Einsatz. Eher hohe Einarbeitung, finde ich.
Konfiguration im wesentlichen über Konfigurationsdateien, obwohl es
glaub ich auch ein Webfrontend gibt (die meisten Tutorials beziehen
sich trotzdem auf Konfiguration per Datei). Die Dateien sind nach
einiger Zeit sogar einigermaßen nachvollziehbar, wenn auch alles durch
etliche Ebenen von Templating geht.
* Prometheus: Aus der "cloud-native"-Szene, eine Grundinstallation hat
man relativ leicht, aber krankt etwas unter einem *sehr* hohen
Abstraktionsniveau. Installation ist noch etwas komplizierter als
Icinga, zumindest bis man soweit ist, dass das Ding war
alltagsrelevantes tut, und nicht nur installiert ist und vor sich
hinläuft. IMHO sehr lange Einarbeitungszeit, bis es wirklich was tut.
Das Ding hat die Anmutung eines Toolkits, mit dem man erst selber was
basteln muß und selber rausfinden was man eigentlich genau will. Wenig
in die Richtung "wenn Server xy nicht pingbar ist, dann schlag Alarm",
was für mich der Standardfall eines Monitoringproblems ist.
Visualisierung z.B. mit Grafana, wodurch man noch mal mehr Komplexität hat.
Unterstützung mittlerweile sehr gut, es gibt fast nix, was nicht im
Format von Prometheus Metriken liefert. Dieses Format ist auch sehr
einfach und elegant, IMHO.
* Zabbix: Da arbeite ich mich gerade ein, IMHO weniger komplex als
Prometheus, hat aber IMHO auch eine eher verschrobene Terminologie für
den "Enterprise-Softwarearchitekten", mit immer noch vielen
Abstraktionsstufen. Standardprobleme wie "Server nicht pingbar" sind
eher abbildbar. Konfiguration durch Dateien und ein Webfrontend.
So richtig einfach einzuarbeiten finde ich es auch nicht, aber ich bin da
auch noch nicht lang dran.
* PRTG: Windows-Lösung, die aber einigermaßen gut funktioniert. Ich hab
mal in einer Firma gearbeitet, wo wir das zum Überwachen von
Linux-Rechnern verwendet habe. War überraschend OK, ich hab halt in
der Zeit hunderte kleine Python- uns Shellskripte dafür geschrieben,
oft nur ein paar Zeilen bis eine Bildschirmseite. Webfrontend, es ist
sehr einfach Dashboards zu bauen. Kostet in der kleinsten Version nix
oder sehr wenig, aber selbst im Umfang für Unternehmen voll OK, soweit
ich mich erinnere (für das was Unternehmen sonst für Software zahlen).
Für den der einen hohen Windows-Anteil hat sicher ernsthaft zu
überlegen.
* CheckMK: War früher eine Distribution von Nagios und ein paar
Zusätzen, o.ä. hat sich aber vermutlich zu was eigenständigem
weiterentwickelt. Keine Ahnung, wie das heute tut, früher hat das
ganz gut funktioniert, aber durch ein selten häßliches Webinterface
ausgezeichnet ;) Zu lange her.
IMHO gibt es gerade im Bereich den du beschreibst (einfach, nicht viele
Abstraktions- und Templating-Ebenen, keine Enterprise-Architektur, nur
10 oder 20 Maschinen überwachen), nichts wirklich elegantes, das
fehlende Komplexität des Gegenstandsbereichs dazu nutzt einfach
installiert und verständlich zu sein. Stattdessen haben 2-4 von oben
sowas wie einen Enterprise-Software-Geschmack (hohe Komplexität, viel
Abstraktion, viel Templating, lange Einarbeitungszeit, eigenwillige
selbsterfundene Terminologie, Konzepte die man sonst kaum woanders
findet, die sie für kleine Setups etwas mühevoll machen. YMMV,
vielleicht bin ich einfach nur zu blöd für diese Welt ;)
/ralph