Nagios - sinnvolle Werte für check_load

nexus

Well-Known Member
Hallo,

ich möchte mal auf eure professionellen Erfahrungen zurückgreifen.
Überwacht werden soll ein System mit 24 Kernen. Mit den Standardwerten in der nrpe.cfg:
Code:
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
würde ich bei diesem System ja ständig mit Warnungen bombardiert werden, sobald das System im Meßbereich von 15 Minuten zu ca. 20% ausgelastet wäre.

Welche Werte würdet ihr für sinnvoll halten bzw. gibt es eine Faustformel, nach der man die Werte anhand der Anzahl der Kerne berechnen kann?
 

marce

Well-Known Member
wie üblich: kommt drauf an :)

"Generell" fahre ich hier erst mal mit
Code:
-r -w 0.8,0.8,0.8 -c 1.0,1.0,1.0

... das wichtigste ist denke ich -r als Option, die Grenzwerte für Warning und Critical kann man je nach Lastszenario, Policy, Wohlfühlfaktor setzen.

kommt ja auch immer drauf an :) was die Kiste macht - für einen Redis-Server sehen "gute Werte" anders aus als für einen Webserver, einen ES-Knoten oder eine DB-Kiste...
 

nexus

Well-Known Member
Vielleicht noch ergänzend...Auf dem Server läuft ein klassischer LAMP-Stack mit aktuell ca. 80 Domains/Websites.
Die 1min Load geht im Moment maximal bis etwa 5-6, 5min und 15min entsprechend niedriger.
Allerdings sollen in den nächsten Wochen noch weitere ca. 100 Seiten auf den Server umziehen.

Ich hab mir überlegt, die Warning-Werte auf
Code:
-w 1.2,1.0,0.8
zu setzen, um nicht gleich bei kurzen Lastspitzen Warnungen zu bekommen.
Die Critical-Werte wollte ich jeweils um 20% höher ansetzen.

Bisher hatte ich immer nur Systeme mit 1 oder 2 Kernen im Monitoring. Für so ne große Kiste mit 24 Kernen fehlt mir einfach noch das Feingefühl... :rolleyes:
 

marce

Well-Known Member
wie "relevant" sind denn die Websites? Gerade beim LAMP-Stack ist hohe Load erst mal kein Problem (da meist einfach viel Wait auf Netzwerkebene, um den Content denn zu den Clients zu bringen) - relevanter würde ich da dann sehen, ab welcher Load die Latenzen beim Abruf merklich hochgehen - oder das System sich nicht mehr konstant verhält. Da würde ich dann die Warnings setzen.

Bei unseren Haupt-Web-Systemen war dies so ab 0.6 - aber das kommt sehr auf die jeweilige Webanwendung an (sprich ab einer Load von 0.6 haben zusätzliche Requests nicht mehr linear mehr Load erzeugt)
... wir haben auch andere Server am laufen, wo bei einer Load von 2, 4 oder 6 die Dinger aber absolut stabil und konstant perfomant laufen und die gewünschten Antwortzeiten problemlos gehalten werden...
 

nexus

Well-Known Member
wie "relevant" sind denn die Websites?
Da ist nichts wirklich kritisches dabei. Nur CMS, hauptsächlich WP und Joomla, ein paar Flatfile-CMS (Grav). Keine Shops o.ä.
Ich hab jetzt mal einige Webstats durchgeschaut, alles im unteren bis mittleren 3stelligen Bereich an Views...Also unterm Strich alles mehr oder weniger Kleinkram.
 

d4f

Kaffee? Wo?
Persönlich finde ich generische Schwellenwerte eigentlich nicht flexibel genug. Bei Web-Anwendungen ist, grob gesagt, alles unter load(5min) = Anzahl CPU-Kerne "gut" und nur zur Kapazitätsplanung sinnvoll. Gleichzeitig ist eine Überwachung von insbesondere IO-Wait oder pageout-pro-Zeit(*) oft für frühzeitige Problemerkennung sinnvoll.
Gleichzeitig ist es aber fast "Muss" auch applikative Werte zu überwachen, hier zB die concurrent connections und durchschnittliche Antwortzeit von dynamischen sowie statischen Anfragen.

*: Hier bitte nicht einfach "Swap-Belegung" überwachen, denn Swap-Verbrauch ist je nach Systemkonfiguration durchaus wünschenswert um unbenutzte Programmteile oder -speicher in (hoffentlich) schnellen SSD-Speicher aus zu lagern um schnelleren RAM für Caching zu verwenden.

Sinnvoller als das reine Überwachen ist aber auch die Historie. Mein persönlicher Favorit für ein Kombo-System in kleinen Umgebungen ist aktuell Grafana welches hauptsächlich Graph-Analyse macht aber auch gute Schwellwert-Trigger mit Benachrichtigung beherrscht.
 

nexus

Well-Known Member
Bei Web-Anwendungen ist, grob gesagt, alles unter load(5min) = Anzahl CPU-Kerne "gut"
Dann hab ich ja schon ganz akzeptable Werte eingeplant.:)

*: Hier bitte nicht einfach "Swap-Belegung" überwachen, denn Swap-Verbrauch ist je nach Systemkonfiguration durchaus wünschenswert um unbenutzte Programmteile oder -speicher in (hoffentlich) schnellen SSD-Speicher aus zu lagern um schnelleren RAM für Caching zu verwenden.
Das habe ich schon berücksichtigt, da auf dem System sowieso NVMe SSD verwendet werden. :cool:
 
Top