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 на самом деле?)
Вы можете добавить к своей службе обработчик событий , который будет выполнять сценарий каждый раз, когда ваша служба переходит в состояние «не в порядке».
Ваш сценарий сможет для хранения, например, данных из верхней команды и netstat или других инструментов ( cat / proc / stat
), которые показывают использование вашей системы.
Я нахожу полезным настроить Apache с помощью настраиваемого LogFormat
, который включает в себя %D
. Это будет регистрировать, сколько микросекунд ушло на обработку каждого запроса.
Поскольку продолжительность записи в журнал таким образом включает время, в течение которого сервер ждал клиента, это не является идеальной метрикой для определения того, какие запросы вызывают высокую нагрузку на сервер. Но она все равно даст полезный сигнал о том, какие URL могут вызывать высокую нагрузку на сервер.
Важно помнить, что среднее значение нагрузки - это очень широкая метрика. Это полезная метрика, чтобы знать, что у вас есть проблема, но она не так полезна, чтобы понять, в чем проблема и как ее решить. В частности, она охватывает как загрузку процессора, так и загрузку входов/выходов, а само число не говорит, в чем причина.
Глядя на выходные данные таких инструментов, как top
и iotop
в период высокой нагрузки, можно получить некоторые подсказки.