Які застереження та критичні значення використовувати для check_load?


13

Зараз я використовую ці значення:

# 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

Але ці значення вибираються майже випадковими.

Хтось має перевірені значення?


2
Я думаю , що є NO standardабо testedзначення. Це залежить від очікуваного навантаження на сервер. Якщо ви очікуєте високого навантаження, вам слід збільшити значення. В іншому випадку ваш сервер завжди виявиться в критичному стані.
Халед

Так, це моя проблема. Я постійно отримую критичні сповіщення. Чи варто помножувати все на 3?
Сандра

Відповіді:


9

Завантаження Linux насправді проста. Кожне з середніх чисел навантаження - це підсумок всього середнього навантаження ядра. Тобто

 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.

Отже, якщо на 4 ядерному сервері навантаження дорівнює 1, то це означає, що кожне ядро ​​використовується 25%, або одне ядро ​​на 100%. Навантаження в 4 означає, що всі 4 ядра знаходяться під навантаженням 100%. Навантаження> 4 означає, що серверу потрібно більше ядер.

check_load тепер є

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

це означає, що при використанні ви можете вважати, що ваш сервер має лише одне ядро, а значить, записуйте відсоткові частки безпосередньо, не замислюючись про кількість ядер. З -rпопередженням стає критичний інтервал 0 <= load avg <= 1. Тобто не потрібно змінювати свої попереджувальні та критичні значення від сервера до сервера.

OP мають 5,10,15 для інтервалів. Це неправильно. Це 1,5,15.


27

Хоча це старе повідомлення, відповідаючи зараз, тому що я знав, що порогові значення check_load - це головний біль для новачків ..;)

Попереджувальне попередження, якщо CPU становить 70% за 5 хвилин, 60% за 10 хвилин, 50% за 15 хвилин. Критичне попередження, якщо процесор становить 90% за 5 хвилин, 80% за 10 хвилин, 70% за 15 хвилин.

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

Усі мої висновки щодо завантаження процесора:

Що означає "навантаження": Wikipedia говорить:

Усі Unix та Unix-подібні системи генерують метрику з трьох "середніх навантажень" чисел у ядрі. Користувачі можуть легко запитувати поточний результат із оболонки Unix, запустивши команду uptime:

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

З вищевказаного середнього вихідного навантаження: 0.06, 0.11, 0.09означає (для однопроцесорної системи):

  • за останню хвилину процесор був завантажений на 6%
  • за останні 5 хвилин процесор був завантажений 11%
  • за останні 15 хвилин процесор був завантажений на 9%

.

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

Вищевказане середнє навантаження 1.73 0.50 7.98в системі з одним процесором:

  • за останню хвилину процесор був перевантажений на 73% (1 процесор із 1,73 запущеними процесами, так що 0,73 процесів довелося чекати черги)
  • за останні 5 хвилин процесор був завантажений на 50% (жодних процесів не довелося чекати черги)
  • протягом останніх 15 хвилин процесор був перевантажений 698% (1 процесор із 7,98 запущеними процесами, так що 6,98 процесів довелося чекати черги)

Розрахунок порогу значення Nagios:

Для налаштування завантаження процесора Nagios, що включає попередження та критичні:

y = c * p / 100

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

для 4-х основних систем:

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

Для єдиної основної системи:

y = p / 100

Де: 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

Чудова біла книга про аналіз завантаження процесора доктором Гюнтером http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf У цій інтернет-статті доктор Гюнтер перекопується в ядро ​​UNIX, щоб дізнатися, як в середньому завантажується ( "Трійці ЛА") розраховуються і наскільки вони доцільні як показники планування потенціалу.


2
час має бути 1,5 та 15 хв.
дальф

3

Якщо сервери не мають асинхронного навантаження, де глибина черги є важливою метрикою служби для керування, тоді, якщо чесно, навіть не варто контролювати середнє навантаження. Це просто відволікання від показників, які мають значення як час обслуговування (час обслуговування та час обслуговування).


2

Хорошим доповненням для Nagios є такий інструмент, як Мунін або Кактуси, вони зможуть графікувати різні види роботи, які переживає ваш сервер. Будь то load_average, використання процесора, диск io чи щось інше.

Використовуючи цю інформацію, простіше встановити хороші порогові значення в Nagios.


1

Чи знаєте ви, на яке середнє навантаження впливає продуктивність вашої системи? На моїй останній роботі у нас були сервери, які постійно сиділи при середньому навантаженні 35-40, але все ще відповідали. Це вимір, який ви повинні зробити трохи детективної роботи, щоб отримати точні цифри.

Ви можете замість цього виміряти деякі інші показники в системі, наприклад, середній час підключення для SSH або http; це може бути кращим показником того, наскільки завантажено вашу систему.


2
Що насправді означає середнє навантаження, наприклад 35? Чи впливає кількість ядер процесора на кількість?
Сандра

1

Щоб розширити відповідь винахідника Sekar: Коли ви використовуєте check_load та відсотки, я вважаю, що вам знадобиться аргумент командного рядка "-r" разом з іншими.

Наприклад:

command[check_load]=/usr/local/nagios/libexec/check_load -r -w 0.7,0.6,0.5 -c 0.9,0.8,0.7
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.