Monitoring mit Zabbix

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.202
Hallo zusammen,

ich bin mir nicht sicher ob meine Frage in den "Austausch" Thread passt oder eben nicht.

Gibt es hier Leute die Zabbix einsetzen um Systeme (Server, Dienste etc.) zu überwachen??

Ich selbst betreibe einen Zabbix Version 6.0.13 und bin damit echt zufrieden. Für die paar Server die ich bei Contabo, Netcup und Hetzner stehen habe, tut er gute Dienste.

Nun hab ich immer wieder mal im Internet gesucht, nichts gefunden, später wieder gesucht, nichts gefunden und heute dachte ich mir, fragst mal nach ob es dafür überhaupt eine Lösung gibt oder nicht.

Bei uns auf der Arbeit hab ich einen PRTG im Betrieb mit dem ich z.B. einen SMTP&IMAP Roundtrip mache, wodurch ich weiß dass E-Mailverkehr in der Basis schon mal klappt und da kam mir dann die Frage, kann man so etwas mit Zabbix auch nachbilden?!

Als ich PRTG eingerichtet hatte (im Sommer 2022) hab ich dazu zwar andere Topic zu Zabbix gefunden wo Leute auch so etwas wissen wollten, aber es gab keine Information dazu.

Eine andere Frage wäre, ob man zum Monitoren der Erreichbarkeit eines Servers / Dienstes wie ICMP, IMAP, SMTP, Webseite etc. mehrere Server / Agents in Abhängigkeit hinterlegen kann?!

Sprich, ich habe einen E-Mail Server bei Hetzner im Rechenzentrum, mein Zabbix der bei Netcup steht, bekommt gerade keinen Ping. Hetzner ist aber erreichbar und der Server auch, aber Netcup kann eventuell via ICMP das zu prüfende Gerät nicht erreichen, also wird parallel von Contabo aus geschaut ob der Server wirklich weg ist oder nicht.

Wenn also der Server von zwei Seiten nicht erreichbar ist, Meldung machen!

Warum würde mich das interessieren?!

Ich bekomme ab und an die Information das einer der Server oder auch ein Dienst nicht erreichbar ist, aber bei der nächsten Prüfung alles OK ist. Vielleicht ist das auch nur eine Optimierung am Server selbst, aber vielleicht nutzen hier ja welche Zabbix und eventuell habt ihr dieses auch schon mal gehabt und gute Lösungen gefunden damit ihr nicht so viele "Fehlalarme" erhaltet :-)

Gruß, Domi
 
Domi83 schrieb:
Ich bekomme ab und an die Information das einer der Server oder auch ein Dienst nicht erreichbar ist, aber bei der nächsten Prüfung alles OK ist.
Ich nutze kein Zabbix und kann daher nicht viel zu den restlichen Themen sagen, allerdings nutze ich CheckMK für ähnliche Zwecke, und beide haben die gleiche Basis (Nagios).
Ich kann dir daher sowohl aus dem Privaten als auch dem Beruflichen Umfeld sagen, dass das gelegentlich mal passiert. Ob es ein Problem ist, kommt da eher auf die Häufigkeit an. Das sind einfach Netzwerkwackler, die vorkommen. Auf der Arbeit haben wir zB 3 Checks am Stück, bis uns ein "Hard-Error" angezeigt wird, weil wir sonst in solchen Fehlern ersticken würden.
Ist bestimmt von vielen Dingen abhängig, aber falls das 1-2x am Tag passiert, würde ich vermuten: Ist normal. Wenn es 1-2x pro Stunde oder so ist, sollte man aber tatsächlich mal schauen.
 
  • Gefällt mir
Reaktionen: Skysnake
Du könntest den "Umweg" gehen und die Cluster Monitoring Funktionalität dafür nutzen bzw. zweckentfremden und das in Kombination mit Zabbix Proxies, zumindest hieß das früher mal so... Zabbix ist bei mir schon etwas her^^
Anyway: 1x Zabbix Server bei Hoster A und der überwacht deinen Mailserver. 1x Zabbix Proxy bei Hoster B und der überwacht auch deinen Mailserver, ggf. musst den dann unter anderem Namen anlegen, z.B. Mailserver_by_Hoster_A und Mailserver_by_Hoster_B. Im Zabbix Server konfigurierst dir dann einen Cluster zusammen, der erst auf DOWN geht wenn beide Nodes DOWN gehen und die Nodes sind dann die "beiden" Mailserver.

Zusätzlich solltest du das beachten was @Snowi bereits schrieb: So ziemlich jede Monitoringlösung arbeitet mit soft- und hardfails und da kann man dann auch andere Zeiträume einstellen.
Beispiel: Monitoring eines Servers passiert alle 5 Minuten. Ist der Server aber mal nicht erreichbar, geht er in den softfail und dann wird minütlich erneut eine Verbindung probiert. Nach drei Fehlversuchen, also nach insgesamt 3 Minuten geht es in den hardfail und das löst eine Notification aus. Ist das System bei den Retries wieder erreichbar, geht es wieder zurück auf grün und das alte 5 Minuten Intervall.

Alternativ kannst dir die diversen Status-Page Anbieter wie uptimerobot oder betterstack ansehen um nur 2 beliebige Beispiele zu nennen. Diese bieten Monitoring von diversen Standorten an. Nachteil daran ist, dass diese Anbieter sich fast alle überwiegend auf http/https spezialisiert haben und andere Applikationen per Port-Test nur prüfen, also ob auf Port XYZ eine Anwendung antwortet oder nicht.
 
  • Gefällt mir
Reaktionen: Snowi
Moin ihr beiden und schon mal vielen Dank.

Die Fehlermeldung (so etwas wie ein Rauschen) habe ich schon relativ lange. Ich glaube mein Zabbix Server habe ich schon seit es die Version 5.x als LTS gab und da hatte ich das auch.

Mir ging es im allgemeinen darum mal zu horchen wie es andere machen. Aber Soft- und Hard-Fails sollte ich echt mal prüfen. PRTG macht das ja auch... wobei der diverse Routinen (für faule) direkt anbietet, aber der kostet ja auch Geld und der Zabbix ist halt für lau.

Das mit dem Cluster-Monitoring über Proxies wäre eine Idee. Hab ja den einen oder anderen Proxie den ich dafür benutzen könnte.

Am Wochenende schaue ich mal wegen Soft- und Hard-Fails und auch wegen dem Cluster Monitoring.

Gruß, Domi
 
soft/hard solltest du auf jeden Fall nutzen, meine mich zu erinnern, dass das bei Zabbix Expressions oder Triggers oder so hieß. Es gibt einfach vielfältige Gründe warum eine einzelne Abfrage mal nicht erfolgreich ist und mit unzähligen false-positive Alarmen ist ja auch niemandem geholfen.
 
Moin,

da stimme ich dir vollkommen zu. Im PRTG hat er Soft- und Hard Werte pauschal drin, im Zabbix muss ich mir die Trigger mal genauer anschauen, sollte aber machbar sein. Es sind die kleinen Dinge die einem oftmals nicht auffallen.

Den Zabbix hab ich halt vor Jahren aufgesetzt, er tut das was er soll und dann lernte ich PRTG kennen und dachte mir "kann Zabbix das auch?" und hatte noch nicht so die Lösung dazu gefunden.
 
Soft-/Hardfails, wie in nagiosartigen System gibt es in Zabbix in der Art nicht. In Zabbix sammelst du zuerst Metriken pro Host und baust dann Trigger, die auf diese Metriken zurückgreifen. Allerdings kannst du in Zabbix innerhalb eines Triggers auf beliebige Metriken beliebiger Hosts zugreifen und diese via Funktionen auswerten (min, max, last, avg, etc, inklusive "einfacher" Vorhersagen auf Basis historischer Daten).

Um einen "Softfail" nachzubilden könnte man einen Trigger mit geringer Severity bauen, der keine Benachrichtigung auslöst und feuert, sobald ein Schwellwert über einen kleinen Zeitraum überschritten wird (z.B. der letzte Ping ist fehlgeschlagen).
Der "Hardfail" wäre dann ein weiterer Trigger, der sich die Metriken über einen längeren Zeitraum anschaut (z.B. x Pings in den letzten 5min sind fehlgeschlagen) und bei Auslösung dann ggf. sofort Benachrichtigt.

Für deinen Mailserver wäre es vermutlich ideal von mehreren Stellen aus zu schauen, ob du an ihn drankommst (ping, tcp-connect oder oder oder), was erstmal nur eine Metrik wäre. Dann baust du einen Trigger für jeden Standort einzeln der prüft, ob z.B. über die letzten x-Minuten mindestens Anzahl-Y Verbindungsversuche fehlgeschlagen sind. Das ganze ist dann vielleicht nen Severity: Warning oder so.

Dazu baust du einen weiteren Trigger, der die Metriken aller Standorte, die die Verbindung testen, vereint. Und wenn da mehr als X über die letzten Y-Minuten Probleme hatten, dann löst der Trigger aus, mit ner höheren Severity.

Und richtig schön wird das Ganze dann via "Service Monitoring" und mit ner schicken Map :D

Ganz wichtig bei Zabbix ist zu verstehen, dass es nicht wie nagios-artige Systeme arbeitet. Du hast keine Checks, die einen Status liefern, sondern du sammelst Metriken und wertest die via Trigger aus.
 
  • Gefällt mir
Reaktionen: snaxilian
Wir hatten das damals (anno 2008) so gemacht:
  • Eine Datenbank enthält SMTP & IMAP Accounts; In der Datenbank sind "Routen" hinterlegt die man überwachen möchte: SMTP-A schickt an IMAP-B
  • SEND: Ein Script schickt in definierten Intervallen E-Mails zu den definierten Routen
  • RECIEVE: Ein Script ruft in definierten Intervallen Postfächer ab
  • Beim RECIEVE wird jede E-Mail geprüft (SPAM oder aus SEND-Prozess) und die Dauer der Übermittlung in der Datenbank hinterlegt
  • Zabbix dockt sich an die Datenbank an und sammelt metriken. Eine davon war z.B. ob eine Route seit Zeit X keine E-Mails mehr empfängt oder ob für eine Route seit Zeit X keine E-Mails mehr gesendet werden konnten.
Das kann man heute bestimmt richtig geil machen, indem man eine Discovery anlegt und jede Route sich automatisch monitored :)
 
KillerCow schrieb:
Ganz wichtig bei Zabbix ist zu verstehen, dass es nicht wie nagios-artige Systeme arbeitet. Du hast keine Checks, die einen Status liefern, sondern du sammelst Metriken und wertest die via Trigger aus.
Alles klar, Nagios ist ja weiter oben schon gefallen und so wie ich das eben auf den ersten Blick gesehen habe, ist Nagios ebenfalls ein Open Source System. In einem der Beiträge im Internet gab es auch schon einen PRTG vs Nagios Bericht den ich mir mal anschauen werden.

Zabbix verwende ich halt seit ein paar Jahren, weil ich für meine Selbstständigkeit die Server überwachen wollte und meinen Kunden aber auch nicht zusätzlich Geld abzwacken wollte, weil ich diese Monitore etc. pp. mit einer kostenpflichtigen Software.

Ja, zig Leute sagen immer "wenn es für ein Unternehmen ist, darf es auch was kosten", aber Kosten- / Nutzen sowie Preis- / Leistung spielen in meinem kleinen Gewerbe auch eine Rolle. Das ist nicht wie bei meinem Arbeitgeber, wo man bereit ist auch mehr Geld in die Hand zu nehmen.

Nagios werde ich mir aber ebenfalls mal anschauen, vielleicht macht der "out-of-the-box" das besser was ich eigentlich suche, alternativ baue ich mir die Trigger entsprechend zusammen um die Metriken meinen Wünschen entsprechend besser auswerten zu können :-)

Ich bedanke mich aber schon mal für die Informationen.
 
Zabbix ist ein großartiges Tool und hat viele Stärken wenns es um Datenerfassung, Skalierbarkeit und Automatisierbarkeit geht. Es hat allerdings Grenzen in der Usability und Feature-Bandbreite.

Einer Firma ohne Monitoring-Erfahrung würde ich das nie empfehlen. Wenn dann einem Techniker der Bock hat etwas cooles zu bauen.

Nagios kann ich nicht empfehlen, das macht keinen Spass zu benutzen und ist ein riesiege Bastelbude. Genaso wenig Cacti oder dergleichen. Verschwende keine Zeit darauf. Da bist du bei einem PRTG oder ähnlichem besser aufgehoben.

Wenn dann würde ich eher Zeit für Prometheus investieren.
 
Enigma schrieb:
Wenn dann würde ich eher Zeit für Prometheus investieren.
Das höre ich auch oft. ABER: Prometheus alleine ist erstmal "nur" eine Zeitreihendatenbank. Nicht mehr und nicht weniger (und btw. kann man mit Zabbix sehr bequem Prometheusmetriken einsammeln, auch ohne nen Prometheus-Server ;) ).
Prometheus ist definitiv cool zum Sammeln von Metriken und "quasi Standard" im k8s-Umfeld. Man braucht dann allerdings noch was gescheites zum "Bemerken von Problemen". Die Prometheus Alerts sind nett als Alarmierung, für einen schnellen Überblick über den aktuellen Zustand aber eher ungeeignet. Grafana kann da helfen, ist aber auch wieder ein Tool mehr.

Letztlich ist es wichtig zu verstehen, wie die gewählte Lösung funktioniert, wie sie mit anderen Lösungen und Diensten interagiert und wofür sie eigentlich entwickelt wird. Dann sind einem auch schnell die Stärken und Schwächen klar. Kein System ist perfekt.

Domi83 schrieb:
Ja, zig Leute sagen immer "wenn es für ein Unternehmen ist, darf es auch was kosten"
Entweder du investierst Zeit (und damit Geld) in ein Monitoring oder du bezahlst jemanden, das für dich zu tun. Ist letztlich ne Rechnung, die du machen must und natürlich die Frage, ob du dich selber kümmern willst/kannst.
Bei mir im Büro kommen gerne die Kollegen zu uns IT'lern und Fragen, ob wir mal schnell die defekten Leuchmittel tauschen können. Elektriker ordern kostet ja schließlich Geld... Wir rechnen dann gerne kurz vor, was "wir" kosten und dann kommt meist doch der Hauselektriker ;)

Domi83 schrieb:
Nagios werde ich mir aber ebenfalls mal anschauen
Ein paar Systeme anschauen ist genau richtig. Mach dir vorher aber Gedanken über die Szenarien, die du abdecken willst/musst. Brauchst du historische Daten? Willst du Checks auf Basis unterschiedlicher Daten von unterschiedlichen Systemen bauen? Visualisierung? Mit oder ohne Agent? Kompatibilität mit "gängigen" Metrikschnittstellen (prometheus, influxdb, graphite, etc)? In welcher Art liefern die bereits vorhandenen zu überwachenden Komponenten ihre Metriken? On-Prem oder Cloud? Berechtigungskonzept/Mandantenfähigkeit? Und so weiter.
 
Domi83 schrieb:
Ja, zig Leute sagen immer "wenn es für ein Unternehmen ist, darf es auch was kosten", aber Kosten- / Nutzen sowie Preis- / Leistung spielen in meinem kleinen Gewerbe auch eine Rolle. Das ist nicht wie bei meinem Arbeitgeber, wo man bereit ist auch mehr Geld in die Hand zu nehmen.
Eventuell kannst du dir auch mal die Checkmk Raw-Edition anschauen.
Soll keine Werbung sein - aber ich benutze es auch Privat für meinen Mailserver und bin sehr zufrieden. Die Raw-Edition ist auch OpenSource und kann kostenfrei verwendet werden, nur für die Enterprise Edition muss man zahlen. Die Raw Edition ist etwas eingeschränkt, aber immer noch sehr gut nutzbar. Zum testen der Enterprise-Edition gibt es die Free-Edition, ist quasi das gleiche, nur dass die Free-Edition auf 25 Hosts limitiert ist. Reicht ja eventuell sogar für dich?
Gibt auch fertige Docker-Images, womit man gut testen kann.

Nagios als solches würde ich vermutlich nicht nehmen, da zu viel Bastelarbeit, dafür gibt es ja zum Glück aber Checkmk ;)
 
  • Gefällt mir
Reaktionen: snaxilian
KillerCow schrieb:
Entweder du investierst Zeit (und damit Geld) in ein Monitoring oder du bezahlst jemanden
Ist ja für meine kleine Selbstständigkeit im Nebenerwerb. Aber an sich machen wir es auf der Arbeit bei einigen Projekten genau so. Da haben wir entsprechende Systemhäuser mit Leuten die das Know-How haben, holen uns die Informationen, lassen uns Schulungen geben, oder auch Produkte etc.

So kam es ja dann auch, dass wir bei uns in der Firma den PRTG verwenden :)

KillerCow schrieb:
Ein paar Systeme anschauen ist genau richtig.
Ist ja an sich auch eine Standardaussage hier in den Foren, guck dir an was es gibt und mach dir Gedanken was du willst. Genaue Anforderungen ist immer schwer, wenn man noch nicht genau weiß was das System eigentlich kann. Vor ein paar Jahren hätte ich nicht sagen können was ich mir ungefähr wünsche, bis ich mir dann den Zabbix angeschaut habe und jetzt nach 1,5 oder 2 Jahren merkte "da könnte XY verbessert werden" :)

Arbeitskollege hat vorhin übrigens auch CheckMK in den Raum geworfen, Nagios kennt er und meinte dann "guck dir eventuell auch mal Icinga an!", somit hab ich auch ein paar Dinge die ich mir anschauen kann.

Vielleicht baue ich mir in meinem Proxmox mal ein / zwei Container, installiere die Tools und lasse meine Server mal ein paar Tage prüfen und schaue mir dann die Funktionen und Features an.
 
Domi83 schrieb:
Ist ja an sich auch eine Standardaussage hier in den Foren, guck dir an was es gibt und mach dir Gedanken was du willst. Genaue Anforderungen ist immer schwer, wenn man noch nicht genau weiß was das System eigentlich kann.
Weil es ohne Kenntniss deiner Anforderungen die einzig valide Aussage ist ;) Wenn dir jetzt hier jemand System A empfiehlt, weil es für seine reine on-prem Umgebung mit drei dutzen Systemen und einem Benutzer genau das richtige, für deine Multicloud-Umgebung in einem Multimandantensystem aber unbrauchbar ist, hilft das ja auch nicht weiter.

Und Anforderungen stellst du an eine Monitoringlösung. Heißt, du weißt, was du mindestens willst/brauchst. Natürlich ist es gut zu schauen, was die Systeme können, weil man dann ggf. Dinge anders umsetzen kann, als bisher, die einen vielleicht schon immer gestört haben. Aber erstmal stellst du die Anforderungen.

Wäre auf jeden Fall schick, wenn du hier nochmal berichtest, was du dir angeschaut hast und wofür die Entscheidung dann gefallen ist und warum :)

Domi83 schrieb:
bis ich mir dann den Zabbix angeschaut habe und jetzt nach 1,5 oder 2 Jahren merkte "da könnte XY verbessert werden"
Kannst du dahingehend noch was dazu sagen, was genau dich stört? Ich überlege derzeit bei uns in der Firma nen kleines Zabbix-Schnupperprojekt auf die Beine zu stellen, weil wir unser historisch gewachsenes Monitoring dringend einer Generalüberholung unterziehen müssen. Genau der richtige Zeitpunkt für eine Umstellung, sofern es sich lohnt und ich liebäugel schon länger mit Zabbix.
Mein größter Abschreckungsfaktor bisher: Die sehr steile Einstiegskurve, vor allem, weil wir von einem "nagiosartigen" System kämen.
Super spannend finde ich die Low-Level Discovery und generell den metrikbasierten Ansatz.
 
KillerCow schrieb:
Kannst du dahingehend noch was dazu sagen, was genau dich stört?
Also neutral betrachtet ist Zabbix echt gut und erfüllt all meine Wünsche. Mandanten-Steuerung, könnte ich jetzt nicht sagen, aber ich hab halt zwei / drei Server bei mir mit drin die auch mein ehemaliger Arbeitskollege einsehen kann. Dazu kommt, dass er AUCH eine E-Mail bekommt, wenn es Probleme bei einem Sensor gibt.

Generell kann Zabbix ja alles was ich für mich brauche, man muss nur ein wenig nachkorrigieren / anpassen, gerade wenn es um so Soft- und Hard Werte geht, damit nicht bei jedem kleinen Rauschen, eine Meldung zu mir (oder Kollege) kommt.

Zusammengefasst, ich habe aktuell 12 Server drin. Diese werden von einem Linux vServer im Rechenzentrum bei Hetzner angesprochen.

Mit ein Bisschen "Fein-Tuning" müsste ich auch die ab und an mal auftretenden SMTP Fehler von dem einen oder anderen Server weg bekomm, denn genau zu den genannten Zeiten gab es keine Probleme.

Parallel kommt hinzu, über einen Zabbix Agent bei mir im LAN würde ich gerne zusätzlich zum Zabbix Server auch Server A prüfen um eventuelle Fehlalarme zu vermeiden.

Aber von euren Beschreibungen her, muss ich nur mal die Trigger korrekt einstellen.

Dass schaffe ich aber erst in ein paar Tagen zu optimieren oder anzupassen.

Bis dahin schaue ich mir mal so die anderen Lösungen an. Vielleicht gibt es da ja etwas wo ich sagen kann "wow!" und dann haut es mich vom Stuhl :D
 
  • Gefällt mir
Reaktionen: KillerCow
Domi83 schrieb:
Bis dahin schaue ich mir mal so die anderen Lösungen an. Vielleicht gibt es da ja etwas wo ich sagen kann "wow!" und dann haut es mich vom Stuhl
Ob du da vom Stuhl fällst weiß ich nicht, aber fertige Monitoringlösungen gibt es ja schon noch ein paar mehr. Wenn du nicht deine Zeit mit Basteln verbringen willst, bieten sich da vor allem Servereye und Solarwinds an.
https://www.servereye.de/
https://www.solarwinds.com/de/server-application-monitor

Wobei das jetzt nur zwei der vielen mir bekannten sind, im Internet tummeln sich logischerweise noch ein paar andere.
 
Zurück
Oben