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:
Es hört sich so an, als hätten Sie zwei Probleme
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.
quelle
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!
quelle
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.
quelle
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.
quelle
Ich ersetze Munin mit Ganglia. Munin tötet meinen Server, also werde ich Ganglia ausprobieren und sehen, wie er skaliert.
quelle