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

Как исследовать критическую нагрузку на сервер, сообщаемую nagios3?

Nagios3, запущенный на моем сервере Ubuntu, иногда отправляет мне по электронной почте отчеты, похожие на:

Notification Type: PROBLEM

Service: Current Load
Host: localhost
Address: 127.0.0.1
State: CRITICAL

Date/Time: Mon May 22 00:14:54 CEST 2017

Additional Info:

**CRITICAL - load average: 3.57, 21.36, 15.40**

(обычно я получаю три письма подряд: Предупреждение, Критическое, Восстановление, два раза в день, в обычные часы)

Как мне выяснить, какая служба вызывает это, и как отследить, когда и что произошло на самом деле? (Я подозреваю, что некоторые веб-сайты управляются Apache, какой? Какой URL на самом деле?)

Я считаю полезным настроить Apache с индивидуальным LogFormat это включает %D. Это будет регистрировать, сколько микросекунд потребовалось для обработки каждого запроса.

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

Важно помнить, что средняя нагрузка - это очень широкий показатель. Это полезный показатель, чтобы знать, что у вас есть проблема, но он не так полезен для выяснения, в чем проблема и как ее исправить. В частности, он охватывает как загрузку ЦП, так и нагрузку ввода-вывода, и само число не говорит вам, какая из двух является причиной.

Глядя на результаты таких инструментов, как top и iotop в период высокой нагрузки могу дать несколько подсказок.

Если проблема возникает из-за нагрузки, памяти или ЦП, вы можете настроить sysstat утилита для анализа истории использования ресурсов.

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

Ваш скрипт сможет хранить, например, данные из верхней команды и netstat или других инструментов (cat /proc/stat), который показывает использование вашей системы.