Schöne Grüße,
Ich möchte die kollektiven Meinungen und Ansichten zu verteilten Überwachungssystemen einholen, was verwenden Sie und worauf sind Sie sich bewusst, welche davon möglicherweise zutreffend sind?
Die Anforderungen sind recht komplex;
Kein einziger Punkt des Versagens. Ja wirklich. Ich mein es todernst! Muss in der Lage sein, einen Ausfall von einem oder mehreren Knoten zu tolerieren, sowohl "Master" als auch "Worker", und Sie können davon ausgehen, dass kein Überwachungsstandort ("Standort") mehrere Knoten enthält oder sich im selben Netzwerk befindet. Daher werden traditionelle HA-Techniken wie DRBD oder Keepalive wahrscheinlich ausgeschlossen.
Verteilte Logik, ich möchte mehr als 5 Knoten in mehreren Netzwerken, in mehreren Rechenzentren und auf mehreren Kontinenten bereitstellen. Ich möchte die "Birds Eye" -Ansicht meines Netzwerks und meiner Anwendungen aus der Sicht meiner Kunden, Bonuspunkte für die Überwachungslogik, die bei mehr als 50 Knoten oder sogar mehr als 500 Knoten nicht blockieren.
Es muss in der Lage sein, eine angemessene Anzahl von Host- / Serviceprüfungen nach dem Vorbild von Nagios abzuwickeln, da die Zahlen für das Baseballstadion 1500 bis 2500 Hosts und 30 Services pro Host voraussetzen. Es wäre wirklich schön, wenn Sie durch Hinzufügen weiterer Überwachungsknoten eine relativ lineare Skalierung erzielen könnten. Vielleicht würde ich in 5 Jahren 5000 Hosts und 40 Services pro Host überwachen wollen! Wenn ich aus meiner obigen Anmerkung über 'verteilte Logik' etwas hinzufüge, wäre es nett zu sagen:
- Unter normalen Umständen müssen diese Überprüfungen auf $ n oder n% der Überwachungsknoten ausgeführt werden.
- Wenn ein Fehler erkannt wird, führen Sie Überprüfungen für weitere $ n oder n% der Knoten durch, korrelieren Sie die Ergebnisse und verwenden Sie sie, um zu entscheiden, ob Kriterien zum Ausgeben einer Warnung erfüllt wurden.
Grafiken und verwaltungsfreundliche Funktionen. Wir müssen unsere SLAs nachverfolgen und wissen, ob unsere "hochverfügbaren" Anwendungen rund um die Uhr verfügbar sind. Idealerweise sollte Ihre vorgeschlagene Lösung die Berichterstellung "out of the box" mit minimalem Aufwand durchführen.
Muss über eine solide API oder ein Plug-in-System verfügen, um maßgeschneiderte Prüfungen zu entwickeln.
Muss bei Warnungen vernünftig sein. Ich möchte nicht unbedingt wissen (per SMS um 3 Uhr morgens!), Dass ein Überwachungsknoten mein Core-Router ausfällt. Ich tun möchte wissen , ob ein bestimmter Prozentsatz von ihnen zustimmen , dass etwas flippiger los ist;) im Wesentlichen über hier , was ich rede ist „Quorum“ Logik oder die Anwendung der Vernunft auf verteilte Wahnsinn!
Ich bin bereit, sowohl kommerzielle als auch Open-Source-Optionen in Betracht zu ziehen, obwohl ich es vorziehen würde, Software zu meiden, die Millionen Pfund kostet :-) Ich bin auch bereit zu akzeptieren, dass es möglicherweise nichts gibt, das all diese Kriterien erfüllt, aber wollte das Kollektiv danach fragen.
Wenn Sie über die Überwachung von Knoten und deren Platzierung nachdenken, denken Sie daran, dass die meisten davon dedizierte Server in zufälligen ISP-Netzwerken sein werden und sich daher weitestgehend meinem Einflussbereich entziehen. Lösungen, die auf BGP-Feeds und anderen komplexen Netzwerkproblemen beruhen, sind wahrscheinlich nicht geeignet.
Ich sollte auch darauf hinweisen, dass ich in der Vergangenheit die meisten Open-Source-Varianten, einschließlich Nagios, Zabbix und Freunden, entweder evaluiert, bereitgestellt oder stark genutzt / angepasst habe. verteilter "Aspekt, insbesondere im Hinblick auf die in meiner Frage diskutierte Logik und" intelligente "Warnungen.
Gerne klären wir eventuelle Punkte ab. Prost Jungs und Mädels :-)
quelle
Antworten:
Eigentlich keine Antwort, aber einige Hinweise:
Schauen Sie sich auf jeden Fall die Präsentation zu Nagios @ Goldman Sachs an . Sie hatten mit den von Ihnen genannten Problemen zu kämpfen - Redundanz, Skalierbarkeit: Tausende von Hosts, auch automatisierte Konfigurationsgenerierung.
Ich hatte redundante Nagios-Setup, aber in viel kleinerem Maßstab - 80 Server, ~ 1k Dienste insgesamt. ein dedizierter Master-Server, ein Slave-Server, der mehrmals täglich in regelmäßigen Abständen die Konfiguration vom Master abruft. Beide Server deckten die Überwachung der gleichen Maschinen ab, sie hatten gegenseitige Integritätsüberprüfungen. Ich habe Nagios hauptsächlich als Framework zum Aufrufen benutzerdefinierter produktspezifischer Überprüfungen verwendet [eine Reihe von Cron-Jobs, die Skripten ausführen, die 'künstliche Flusskontrollen' ausführen, Ergebnisse in SQL protokolliert und in den letzten x Minuten nach erfolgreichen / fehlgeschlagenen Ausführungen gesucht]. alles hat sehr gut funktioniert.
Ihre Quorum-Logik klingt gut - ein bisschen ähnlich wie meine 'künstlichen Flüsse' - machen Sie einfach weiter, setzen Sie sich selbst um; -]. und lassen Sie nrpe einfach eine Art Flag [oder sql db mit timestamp-status] überprüfen, wie sich die Dinge entwickeln.
Wahrscheinlich möchten Sie eine skalierbare Hierarchie aufbauen. Einige Knoten bieten einen Überblick über andere Knoten. Schauen Sie sich die Präsentation vom ersten Punkt an an. Das Standard-Nagios-Forking für jeden einzelnen Check ist bei einer höheren Anzahl von überwachten Services übertrieben.
um einige fragen zu beantworten:
quelle
Was Sie verlangen, klingt sehr nach dem, was Shinken für Nagios getan hat.
Shinken ist ein Nagios-Rewrite.
Dies sollte zum Nachdenken anregen.
Prost
quelle