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?
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
où 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.
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):
.
$ 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:
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 value
c = number of cores
p = 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 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 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é.
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).
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.
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
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.