Сейчас я использую эти значения:
# 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
Но эти значения просто выбраны почти случайно.
У кого-нибудь есть проверенные значения?
Хотя это старый пост, отвечаю сейчас, потому что я знал, что пороговые значения check_load - большая головная боль для новичков ..;)
Предупреждение, если ЦП составляет 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*
Все мои выводы о загрузке процессора:
Что имеется в виду под «грузом»: Википедия говорит:
Все 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
означает (в однопроцессорной системе):
.
$ uptime
14:34:03 up 10:43, 4 users, load average: 1.73, 0.50, 7.98
Приведенная выше средняя нагрузка 1.73 0.50 7.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, чтобы узнать, как рассчитываются средние значения нагрузки («тройки LA») и насколько они подходят для использования в качестве показателей планирования емкости.
Загрузка 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
. Т.е. вам не нужно изменять ваши предупреждения и критические значения от сервера к серверу.
ОП имеют 5,10,15 интервалов. Это не правильно. Это 1,5,15.
Если рассматриваемые серверы не имеют асинхронной рабочей нагрузки, где глубина очереди является важной метрикой обслуживания, которой нужно управлять, то, честно говоря, даже не стоит отслеживать среднюю нагрузку. Это просто отвлечение от таких показателей, как время обслуживания (время обслуживания и время обслуживания).
Также хорошее дополнение Nagios - это такие инструменты, как Munin или Cacti, они будут отображать различные виды нагрузки, с которыми сталкивается ваш сервер. Будь то load_average, использование процессора, disk io или что-то еще.
Используя эту информацию, легче установить хорошие пороговые значения в Nagios.
Знаете ли вы, какая средняя нагрузка влияет на производительность вашей системы? На моей последней работе у нас были серверы, которые постоянно имели среднюю нагрузку 35-40, но все равно реагировали. Это измерение, для которого вам нужно немного поработать детективом, чтобы получить точные цифры.
Вместо этого вы можете захотеть измерить некоторые другие метрики в системе, например среднее время соединения для SSH или http; это может быть лучшим индикатором того, под какой нагрузкой находится ваша система.
Чтобы расширить ответ Invent 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