Welche Warn- und kritischen Werte sind für check_load zu verwenden?

13

Im Moment verwende ich diese Werte:

# y = c * p / 100
# y: nagios value
# c: number of cores
# p: wanted load procent

# 4 cores
# time        5 minutes    10 minutes     15 minutes
# warning:    90%          70%            50%
# critical:   100%         80%            60%
command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

Diese Werte werden jedoch fast zufällig ausgewählt.

Hat jemand ein paar getestete Werte?

Sandra
quelle
2
Ich denke es gibt KEINEN standardoder testedWert. Dies hängt von Ihrer erwarteten Serverauslastung ab. Wenn Sie eine hohe Belastung erwarten, sollten Sie die Werte erhöhen. Andernfalls wird Ihr Server immer in einem kritischen Zustand angezeigt.
Khaled
Ja das ist mein problem Ich erhalte ständig kritische Benachrichtigungen. Soll ich alles mit 3 multiplizieren?
Sandra

Antworten:

9

Das Laden von Linux ist eigentlich einfach. Jede der durchschnittlichen Ladezahlen ist die Summe aller durchschnittlichen Ladezahlen des Kerns. Dh

 1 min load avg = load_core_1 + load_core_2 + ... + load_core_n
 5 min load avg = load_core_1 + load_core_2 + ... + load_core_n
15 min load avg = load_core_1 + load_core_2 + ... + load_core_n

wo 0 < avg load < infinity.

Wenn eine Last auf einem Server mit 4 Kernen 1 ist, bedeutet dies, dass jeder Kern zu 25% oder ein Kern zu 100% ausgelastet ist. Eine Last von 4 bedeutet, dass alle 4 Kerne zu 100% ausgelastet sind. Eine Last von> 4 bedeutet, dass der Server mehr Kerne benötigt.

check_load jetzt hab

 -r, --percpu
    Divide the load averages by the number of CPUs (when possible)

Dies bedeutet, dass Sie sich Ihren Server bei Verwendung als einen Kern vorstellen und daher die prozentualen Brüche direkt schreiben können, ohne an die Anzahl der Kerne zu denken. Mit -rder Warnung werden auch kritische Intervalle 0 <= load avg <= 1. Dh Sie müssen Ihre Warn- und kritischen Werte nicht von Server zu Server ändern.

OP haben 5,10,15 für Intervalle. Das ist falsch. Es ist 1,5,15.

d2xdt2
quelle
27

Obwohl es ein alter Beitrag ist, antworte ich jetzt, weil ich wusste, dass check_load-Schwellenwerte für die Neulinge viel Kopfzerbrechen bereiten.;)

Eine Warnmeldung, wenn die CPU 5 Minuten lang zu 70%, 10 Minuten lang zu 60% und 15 Minuten lang zu 50% ausgelastet ist. Ein kritischer Alarm, wenn die CPU 5 Minuten lang zu 90%, 10 Minuten lang zu 80% und 15 Minuten lang zu 70% ausgelastet ist.

*command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7*

Alle meine Erkenntnisse zur CPU-Auslastung:

Was mit "der Ladung" gemeint ist: Wikipedia sagt:

Alle Unix- und Unix-ähnlichen Systeme generieren eine Metrik von drei "Load Average" -Nummern im Kernel. Benutzer können das aktuelle Ergebnis auf einfache Weise über eine Unix-Shell abfragen, indem sie den Befehl uptime ausführen:

$ uptime
14:34:03 up 10:43,  4 users,  load average: 0.06, 0.11, 0.09

Ausgehend vom obigen Durchschnitt der Ausgangslast 0.06, 0.11, 0.09bedeutet : (auf einem Einzel-CPU-System):

  • in der letzten Minute war die CPU um 6% unterlastet
  • in den letzten 5 Minuten war die CPU 11% unterlastet
  • In den letzten 15 Minuten war die CPU zu 9% unterlastet.

.

$ uptime
14:34:03 up 10:43,  4 users,  load average: 1.73, 0.50, 7.98

Der obige Lastdurchschnitt 1.73 0.50 7.98eines Einzel-CPU-Systems als:

  • in der letzten Minute war die CPU um 73% überlastet (1 CPU mit 1,73 lauffähigen Prozessen, so dass 0,73 Prozesse auf eine Wende warten mussten)
  • in den letzten 5 Minuten war die CPU zu 50% unterlastet (es mussten keine Prozesse auf eine Wende warten)
  • In den letzten 15 Minuten war die CPU zu 698% überlastet (1 CPU mit 7,98 lauffähigen Prozessen, so dass 6,98 Prozesse auf eine Wende warten mussten)

Nagios Schwellwertberechnung:

Für das Nagios-CPU-Lade-Setup, das Warnung und Kritisch enthält:

y = c * p / 100

Wo: y = nagios value c = number of cores p = wanted load procent

für ein 4-Kern-System:

time      5 min  10 min    15 min
warning:  90%    70%       50%
critical: 100%   80%       60%

command[check_load]=/usr/local/nagios/libexec/check_load -w 3.6,2.8,2.0 -c 4.0,3.2,2.4

Für ein Single-Core-System:

y = p / 100

Wo: y = nagios value p = wanted load procent

time       5 min  10 min    15 min
warning:   70%    60%       50%
critical:  90%    80%       70%

command[check_load]=/usr/local/nagios/libexec/check_load -w 0.7,0.6,0.5 -c 0.9,0.8,0.7

Ein großartiges Whitepaper zur CPU - Lastanalyse von Dr. Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf In diesem Online - Artikel untersucht Dr. "LA Triplets") werden berechnet und wie angemessen sie als Kapazitätsplanungsmetriken sind.

Invent Sekar
quelle
2
zeit sollte 1,5 und 15min sein
dalf
3

Sofern die fraglichen Server nicht über eine asynchrone Auslastung verfügen, bei der die Warteschlangentiefe die wichtigste zu verwaltende Service-Metrik ist, lohnt es sich ehrlich gesagt nicht einmal, die durchschnittliche Auslastung zu überwachen. Es ist nur eine Ablenkung von den Messwerten, die wichtig sind, wie die Servicezeit (Servicezeit und Servicezeit).

Cagenut
quelle
2

Eine gute Ergänzung Nagios ist ein Tool wie Munin oder Cacti, das die verschiedenen Arten der Arbeitslast auf Ihrem Server darstellt. Sei es load_average, cpu usage, disk io oder etwas anderes.

Anhand dieser Informationen lassen sich in Nagios leichter gute Schwellenwerte einstellen.

nenne
quelle
1

Wissen Sie, bei welcher durchschnittlichen Auslastung die Leistung Ihres Systems beeinträchtigt wird? Bei meinem letzten Job hatten wir Server, die durchweg zwischen 35 und 40 ausgelastet waren, aber immer noch ansprechbar waren. Es ist eine Messung, für die Sie ein wenig Detektivarbeit leisten müssen, um genaue Zahlen zu erhalten.

Möglicherweise möchten Sie stattdessen einige andere Metriken im System messen, z. B. die durchschnittliche Verbindungszeit für SSH oder http. Dies ist möglicherweise ein besserer Indikator für die Auslastung Ihres Systems.

Peter Grace
quelle
2
Was bedeutet eigentlich ein Lastdurchschnitt von zB 35? Hat die Anzahl der CPU-Kerne einen Einfluss auf die Anzahl?
Sandra
0

Um die Antwort von Invent Sekar zu erweitern: Wenn Sie check_load und Prozentsätze verwenden, werden Sie meines Erachtens zusammen mit den anderen das Befehlszeilenargument "-r" benötigen.

Beispielsweise:

command[check_load]=/usr/local/nagios/libexec/check_load -r -w 0.7,0.6,0.5 -c 0.9,0.8,0.7
Phil
quelle