Ich muss Munin durch etwas Skalierbareres ersetzen [geschlossen]


8

Ich habe Munin viele Jahre lang mit großem Erfolg auf mehreren Servern verwendet, jedoch mit mehr als 100 Munin-Knoten, und wenn die Clients belastet sind, läuft die Verarbeitung ab.

Ich habe einige Skalierungsänderungen am Cron-Job und an der Anzahl der Client-Prozesse vorgenommen und die Anzahl der ausgeführten Plugins usw. reduziert. Ich habe mich jedoch entschlossen, nach einer Alternative mit einer skalierbareren Architektur zu suchen.

Anregungen oder Erfahrungen wären willkommen. Ich interessiere mich hauptsächlich für Servermetriken, die für die Kapazitätsplanung und die Diagnose der Ressourcennutzung verwendet werden können. (Wir haben Nagios zur Alarmierung)


Antworten:


8

Es hört sich so an, als hätten Sie zwei Probleme

  1. Auf Ihrem Überwachungsserver erfordert das Aufzeichnen der Metriken für viele Server mehr zufällige E / A-Vorgänge, als Ihr Speicher bereitstellen kann. Selbst wenn alle Ihre Metriken auf die Festplatte geschrieben werden, ist der Server möglicherweise zu überlastet, um tatsächlich Diagramme daraus zu generieren.
  2. Wenn Ihre Clients überwacht werden, sind die Plugins, die die Metriken erfassen, zu CPU- und speicherintensiv und beenden die Datenerfassung nicht rechtzeitig, wenn die Clients stark ausgelastet sind.

Ich habe Munin in der Vergangenheit verwendet, aber ich verwende derzeit collectd . Die Autoren von collectd haben viel nachgedacht und sich bemüht, dieses Problem zu lösen. Sie verfügen über ein gut konzipiertes System zum Schreiben der Daten in RRD-Dateien , das sicherstellt, dass Sie keine Daten verlieren, und aktuelle Diagramme erstellen kann. Es gibt auch Unterstützung für RRDCacheD. Der Daemon und die offiziellen Plugins sind in C geschrieben, sodass sie wenig Speicher oder CPU-Zeit benötigen. Auf meinen Client-Systemen werden weniger als 2 MB RAM und etwa eine Viertelsekunde CPU-Zeit pro Minute benötigt. Auf meinem Überwachungsserver werden pro Minute 20 MB RAM und zwei Drittel einer Sekunde CPU-Zeit benötigt. Denken Sie daran, dass alle meine Metriken alle zehn Sekunden erfasst und an meinen Überwachungsserver gesendet werden, anstatt in Intervallen von Minuten wie bei Munin.


2
munin hat jetzt vorläufige unterstützung für rrdcached. Es erfordert etwas mehr Aufwand als die Standardinstallation. Dies ist keine Abstimmung für oder gegen Munin / Collectd. Ich füge dies nur hinzu, um allen zu helfen, die mit einem Munin-Setup zu kämpfen haben und keinen Spielraum beim Ändern von Systemen haben.
dfc

3

Obwohl Munin und andere RRDTool-Frontends (wie Cacti oder Ganglia) großartige Tools sind, sind E / A-Probleme bekannt und bei der Überwachung von Hunderten von Knoten nur schwer skalierbar.

Es gibt jedoch einige Techniken, um mit diesem E / A-Engpass umzugehen. Eine dieser Methoden besteht darin, Schreibvorgänge auf eine große Anzahl von Festplatten zu verteilen, um die E / A auf jeder Festplatte zu reduzieren. Andererseits verwenden viele Systemadministratoren tmpfs- Dateisysteme, um dieses Problem zu beheben. RRDCached ist auch eine aktuelle und gute Option, um damit umzugehen, und ich würde empfehlen, dass Sie sich diese Folien ansehen .

Ich bin mit Munin nicht so vertraut, aber Cacti hat ein Boost- Plugin. Dieses Plugin speichert Daten im Speicher zwischen und führt Massen- und On-Demand-Aktualisierungen auf der Festplatte anstelle einzelner Schreibvorgänge durch, wodurch die E / A reduziert werden. Ich bin mir ziemlich sicher, dass Munin auch so etwas hat.

Wenn Sie es sich leisten können, sind SSD-Festplatten ebenfalls eine gute Option.

Zu guter Letzt können Sie sich auch Reconnoiter ansehen . Recconoiter ist ein brandneues Tool zur Fehlererkennung und -grafik / -trend. Im Gegensatz zu den meisten Trendtools basiert Reconnoiter nicht auf RRDTool und versucht, dieses spezielle Problem zu lösen. Ich verwende Reconnoiter nicht in der Produktion, aber ich habe einige Tests durchgeführt und obwohl es immer noch ein wenig "grün" ist, sieht es wirklich vielversprechend aus, insbesondere in Bezug auf seine Skalierbarkeit.

Hoffe das hilft!


Zabbix verwendet auch kein RRD, sondern ein Backend wie MySQL oder Postgres. Wenn Sie Ihre Vorlagen richtig machen und keine nutzlosen Inhalte überwachen, können Sie problemlos skalieren.
Coredump

2

Schauen Sie sich Zabbix an . Es ist eines der besten Open Source-Tools zur Leistungsüberwachung. Es lässt sich gut skalieren und wurde in Umgebungen mit Tausenden von Computern verwendet.


0

Marco Ramos gibt einige solide Ratschläge. Ich möchte jedoch einige Klarstellungen hinzufügen: Das große Problem bei Munin ist der feste 5-Minuten-Abholplan. Wenn nicht alle Knoten innerhalb des 5-Minuten-Fensters Ergebnisse zurückgeben, werden Aussetzer angezeigt. Dies ist das größte Problem mit Munin.

Andere rrdtool-basierte Tools wie Ganglia sind nicht in demselben 5-Minuten-Aktualisierungsfenster gesperrt, da sie nicht alle Datenquellen auf dieselbe sequentielle Weise abfragen wie munin.

Ich würde empfehlen, dass Sie sich Ganglia ansehen, da es im Allgemeinen gut zu skalieren scheint (obwohl Sie die Multicast-Datenerfassung für eine große Ganglia-Installation deaktivieren müssen). Ich vermute, Sie können mit Ganglien ziemlich lange Wege gehen, bevor Sie sich Sorgen machen müssen, dass rrdtool der Choke-Punkt ist. An diesem Punkt können Sie die von Marco vorgeschlagenen Dinge tun, z. B. die Verwendung von SSD-Laufwerken.


in der Tat, Sie haben Recht, das gleiche passiert mit Kakteen.
Marco Ramos

0

Ich ersetze Munin mit Ganglia. Munin tötet meinen Server, also werde ich Ganglia ausprobieren und sehen, wie er skaliert.


Wie ist es gelaufen? Ich bin selbst an einem solchen Ersatz interessiert ...
thanasisk

Ich bevorzuge Munins Grafiken, aber Ganglia hat gut funktioniert. Ich habe den Job inzwischen verlassen, aber als ich ging, habe ich Munin durch Ganglia ersetzt. Mit der neuesten Version von Munin neige ich dazu zu glauben, dass sie die Speichernutzung optimiert haben. Ich würde auch nicht zögern, es zu verwenden, es ist eine Frage der Präferenz, denke ich.
Luckytaxi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.