Назад | Перейти на главную страницу

Что может вызвать среднюю нагрузку 10–30 (а не 10–30%)

Возможный дубликат:
Как понять использование памяти и среднюю нагрузку на Linux-сервере

Я не уверен, что лучше было бы это озаглавить «Зачем Nagios нужно отслеживать нагрузку, достигающую 30».

Ситуация: я настраиваю Nagios для нашей сети и дошел до этапа настройки NRPE на ящиках * nix. Я уже (на бумаге) получил приблизительное представление о том, где я хочу настроить уведомления. Для конкретного сервера, например, это выглядит так: 1 минута: предупреждение на 90%, крит на 100% 5 минут: предупреждение на 80%, крит на 90% 15 минут: предупреждение на 60%, крит на 70%

На сервере работают два виртуальных процессора, поэтому я планирую использовать параметр -r, чтобы получить результат для каждого процессора (да, я знаю, что это не на самом деле на процессор, это нагрузка для всех из них, деленная на их количество, и я ОК с этим).

так что я был абсолютно готов настроить это, когда увидел значения по умолчанию в файле конфигурации NRPE:

command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

Это меня оттолкнуло. Я начал задаваться вопросом, действительно ли я понимаю среднюю нагрузку. Я вижу, что параметр -r не используется, поэтому средняя загрузка выше 1 является нормальной, но предполагает ли это значение по умолчанию для системы с 30 процессорами? Я видел этот вопрос для которого в ответе предлагается использовать [число процессоров] * 10 для критического 5-минутного уведомления (возможно, за одну минуту?), что дополнительно поддерживает использование значений, намного превышающих запланированные. То есть, не видя там значений по умолчанию, я бы пошел с

command[check_load]=/usr/lib/nagios/plugins/check_load -r -w 0.9,0.8,0.6 -c 1.0,0.9,0.7

но теперь я сомневаюсь. Я знаю, что никто из Интернета не может сказать мне правильные значения, которые следует использовать в нашей ситуации, и я не ожидаю, что кто-то это сделает, я был бы очень благодарен, если бы кто-нибудь сказал мне, правильно ли я понимаю нагрузку и мне нужно начать детектив снова поработайте над полезными ценностями. Как бы то ни было, я получил эти значения, просто запустив top время от времени в течение последних 6 месяцев на рассматриваемом сервере. Обычно он составляет от 0,4 на процессор (0,8) до 0,55 на процессор (1,1) в среднем за 1 минуту.

Необработанные средние значения нагрузки - это просто числа, а не процент от абсолютного значения. Средняя загрузка и загрузка ЦП (обычно выражаемая в процентах) - это не одно и то же. Вы должны следить за обоими.

Приблизительное описание средней нагрузки (по крайней мере, в Linux) - это «количество процессов, которые могут быть запущены», это очень зависит от того, что делают ваши системы. Практическое правило состоит в том, что 1 блок нагрузки на ЦП «занят», что объясняет check_load -r параметр. Большое количество операций ввода-вывода и недолговечные процессы действительно могут это испортить. Вы можете найти лучшие описания в другом месте.

Чтобы ответить на ваш вопрос: загрузка 30 может быть вызвана 30 процессами или потоками, готовыми к полной загрузке ваших процессоров, без ожидания / опросов.

Хорошая работа для бега top и имея представление о вашей нагрузке, вы должны начать с этих цифр и со временем настраивать их, чтобы минимизировать ложные срабатывания, хотя я бы предложил удвоить ваши критические пороги.

IMHO примерные значения nrpe.cfg слишком высоки для типичной рабочей нагрузки сервера. Я предполагаю, что они достаточно высоки, чтобы не вызывать постоянный поток вопросов «NRPE говорит, что моя средняя нагрузка все время слишком высока». Как ни странно, check_load сам имеет значения по умолчанию 0,0,0 и 0,0,0.