15 votes

Quelles valeurs d'avertissement et de critique utiliser pour check_load ?

Pour l'instant, j'utilise ces valeurs :

# 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

Mais ces valeurs sont choisies presque au hasard.

Quelqu'un a-t-il des valeurs testées ?

32voto

Invent Sekar Points 481

Bien qu'il s'agisse d'un ancien message, je réponds maintenant car je sais que les valeurs de seuil de check_load sont un véritable casse-tête pour les débutants ;)

Une alerte, si le CPU est à 70% pendant 5 minutes, 60% pendant 10 minutes, 50% pendant 15 minutes. Une alerte critique, si le CPU est à 90% pendant 5 minutes, 80% pendant 10 minutes, 70% pendant 15 minutes.

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

Toutes mes conclusions sur la charge du processeur :

Qu'entend-on par "la charge" ? Wikipedia dit :

Tous les systèmes Unix et Unix-like génèrent une métrique de trois nombres "moyenne de charge" dans le noyau. Les utilisateurs peuvent facilement demander le résultat actuel à partir d'un Shell Unix en exécutant la commande uptime :

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

A partir de la moyenne de la charge de sortie ci-dessus : 0.06, 0.11, 0.09 signifie (sur un système à une seule unité centrale) :

  • au cours de la dernière minute, l'unité centrale a été sous-chargée de 6 %.
  • au cours des 5 dernières minutes, le CPU a été sous-chargé de 11 %.
  • au cours des 15 dernières minutes, l'unité centrale a été sous-utilisée à 9 %.

.

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

La moyenne de charge ci-dessus de 1.73 0.50 7.98 sur un système à une seule unité centrale :

  • au cours de la dernière minute, l'unité centrale a été surchargée de 73 % (1 unité centrale avec 1,73 processus exécutables, de sorte que 0,73 processus ont dû attendre leur tour)
  • au cours des 5 dernières minutes, le CPU a été sous-chargé de 50 % (aucun processus n'a dû attendre son tour)
  • au cours des 15 dernières minutes, le CPU a été surchargé à 698 % (1 CPU avec 7,98 processus exécutables, de sorte que 6,98 processus ont dû attendre leur tour)

Calcul de la valeur seuil de Nagios :

Pour la configuration de la charge CPU de Nagios, qui comprend l'avertissement et le critique :

y = c * p / 100

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

pour un système à 4 cœurs :

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

Pour un système à noyau unique :

y = p / 100

W 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

Un excellent livre blanc sur l'analyse de la charge du processeur par le Dr Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf Dans cet article en ligne, le Dr Gunther se plonge dans le noyau UNIX pour découvrir comment les moyennes de charge (les "LA Triplets") sont calculées et comment elles sont appliquées. moyennes de charge (les "LA Triplets") sont calculées et dans quelle mesure elles sont appropriées pour la de planification de la capacité.

11voto

Matt D Points 2633

La charge Linux est en fait simple. Chaque chiffre de charge moyenne est la somme de la charge moyenne de tous les cœurs. Ie.

 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

0 < avg load < infinity .

Ainsi, si la charge est de 1 sur un serveur à 4 cœurs, cela signifie que chaque cœur est utilisé à 25 % ou qu'un cœur est chargé à 100 %. Une charge de 4 signifie que les 4 cœurs sont sollicités à 100 %. Une charge >4 signifie que le serveur a besoin de plus de cœurs.

check_load ont maintenant

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

ce qui signifie qu'en cas d'utilisation, vous pouvez considérer que votre serveur n'a qu'un seul cœur et donc écrire les fractions de pourcentage directement sans penser au nombre de cœurs. Avec -r les intervalles d'alerte et les intervalles critiques deviennent 0 <= load avg <= 1 . C'est-à-dire que vous ne devez pas modifier vos valeurs d'avertissement et de critique d'un serveur à l'autre.

Les OP ont des intervalles de 5, 10 et 15. C'est une erreur. Il s'agit de 1,5,15.

3voto

cagenut Points 4828

À moins que les serveurs en question aient une charge de travail asynchrone où la profondeur de la file d'attente est la mesure de service la plus importante à gérer, il n'est honnêtement même pas utile de surveiller la moyenne de charge. Ce n'est qu'une distraction par rapport aux mesures qui comptent comme le temps de service (temps de service et temps de service).

2voto

nenne Points 189

Un bon complément à Nagios est un outil comme Munin ou Cacti, qui permet de représenter graphiquement les différents types de charge de travail que subit votre serveur. Qu'il s'agisse de la moyenne de charge, de l'utilisation du processeur, de l'utilisation du disque ou d'autre chose.

En utilisant cette information, il est plus facile de définir de bonnes valeurs de seuil dans Nagios.

1voto

Peter Grace Points 3436

Savez-vous à partir de quelle charge moyenne les performances de votre système sont affectées ? Dans mon dernier emploi, nous avions des serveurs qui se situaient constamment à une moyenne de charge de 35-40, mais qui étaient toujours réactifs. C'est une mesure pour laquelle vous devez faire un peu de travail de détective afin d'obtenir des chiffres précis.

Vous pourriez plutôt mesurer d'autres paramètres sur le système, comme le temps de connexion moyen pour SSH ou http ; cela pourrait être un meilleur indicateur de la charge subie par votre système.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X