web-dev-qa-db-fra.com

Quels valeurs d'avertissement et de valeurs critiques à utiliser pour check_load?

En ce moment, 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 ne sont que cueillies presque aléatoires.

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

13
Sandra

La charge Linux est en fait simple. Chacun des numéros de charge AVG est la somme de toute la charge AVG du noyau. C'est à dire.

 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.

Donc, si une charge est 1 sur un serveur 4 de base, cela signifie que chaque noyau est utilisé à 25% ou un noyau est de 100% sous charge. Une charge de 4 signifie que les 4 cœurs sont inférieurs à 100%. Une charge de> 4 signifie que le serveur a besoin de plus de noyaux.

check_load maintenant ont

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

ce qui signifie que lorsqu'il est utilisé, vous pouvez penser à votre serveur comme ayant un seul noyau et écrire directement les pourcentages sans réfléchir au nombre de cœurs. Avec -r Les intervalles d'avertissement et de critiques deviennent 0 <= load avg <= 1. C'est à dire. Vous n'avez pas à modifier vos valeurs d'avertissement et de valeurs critiques du serveur au serveur.

Opt 5,10,15 pour intervalles. C'est faux. C'est 1,5,15.

9
d2xdt2

Bien que c'est un ancien poste, répondant maintenant parce que je savais que les valeurs de seuil de check_load sont des maux de tête de grand temps pour les débutants ..;)

Une alerte d'avertissement, si la CPU est de 70% pour 5 minutes, 60% pour 10 minutes, 50% pour 15 minutes. Une alerte critique, si la CPU est de 90% pour 5 minutes, 80% pour 10 minutes, 70% pour 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 de la CPU:

Quoi signifie "la charge": Wikipedia dit:

Tous les systèmes de type UNIX et UNIX génèrent une métrique de trois numéros de "moyenne de charge" dans le noyau. Les utilisateurs peuvent facilement interroger le résultat actuel d'une coque UNIX en exécutant la commande UPTÉTIMES:

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

De la moyenne de la charge de sortie ci-dessus: 0.06, 0.11, 0.09 moyens (sur un système unique-CPU):

  • au cours de la dernière minute, la CPU a été souschargée de 6%
  • au cours des 5 dernières minutes, la CPU a été sous charge de 11%
  • au cours des 15 dernières minutes, la CPU a été sous charge de 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 CPU comme suit:

  • au cours de la dernière minute, la CPU a été surchargée de 73% (1 CPU avec 1,73 processus runnable, de sorte que 0,73 processus devait attendre un tour)
  • au cours des 5 dernières minutes, la CPU a été sous charbée de 50% (aucun processus n'a dû attendre un tour)
  • au cours des 15 dernières minutes, la CPU a été surchargée 698% (1 CPU avec 7,98 processus annulables, de sorte que 6,98 procédés devaient attendre un tour)

Calcul de valeur de seuil Nagios:

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

y = c * p / 100

Où: y = nagios valuec = number of coresp = wanted load procent

pour un système 4 Core:

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 seul système de base:

y = p / 100

Où: y = nagios valuep = 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 grand livre blanc sur l'analyse de la charge de la CPU par le Dr. Gunther http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf Dans cet article en ligne Dr. Gunther creuse dans le noyau UNIX à Découvrez comment les moyennes de charge (les "La tripléts") sont calculées et comment elles sont appropriées comme des métriques de planification de la capacité.

27
Invent Sekar

Sauf si les serveurs en question ont une charge de travail asynchrone où la profondeur de la file d'attente est la métrique de service importante pour gérer, puis il ne vaut même pas la peine de surveiller la moyenne de la charge. C'est juste une distraction des métriques qui comptent comme le temps de service (temps de service et temps de service).

3
cagenut

Un bon complément Trop Nagios est un outil tel que Munin ou Cacti, ils grapheront les différents types de charge de travail que votre serveur connaît. Soyez-le LOAD_AOOVER, UTILISATION DE LA CPU, DISK IO ou autre chose.

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

2
nenne

Pour étendre l'inventaire de la réponse de Sekar: Lorsque vous utilisez Check_load et pourcentages, je pense que vous aurez besoin de l'argument de la ligne de commande "-R" avec les autres.

Par exemple:

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

Savez-vous à quelle charge la performance de votre système est affectée? Nous avions des serveurs à mon dernier emploi qui seraient assisté à la moyenne de 35 à 40 chargements, mais étaient toujours réactifs. C'est une mesure que vous devez faire un peu de travail de détective pour obtenir des numéros précis.

Vous voudrez peut-être mesurer à la place d'autres métriques sur le système, telles que la moyenne de connexion pour SSH ou HTTP; Cela pourrait être un meilleur indicateur de la quantité de charge de votre système.

1
Peter Grace