Мониторинг PHP-FPM с помощью Nixstats
Aug 10, 2017 10:02 · 226 words · 2 minute read
Ранее мы уже рассматривали Nixstats — бесплатный сервис для мониторинга, отображения статистики сервера и оповещения о проблемах и даже научились собирать метрики от web-сервера Nginx.
Давайте разберемся с настройкой сбора метрик php-fpm
с помощью сервиса Nixstats!
От php-fpm
сервис Nixstats принимает следующие метрики:
- Accepted connections (per second, total);
- Active processes;
- Total processes;
- Idle processes;
- Max active processes;
- Listen queue;
- Listen queue length;
- Max listen queue;
- Max children reached;
- Start time;
- Start since;
- Pool;
- Process manager;
- Slow requests.
Страница статуса php-fpm
должна быть включена — сделать это можно в конфигурационном файле пула (/etc/php-fpm.d/www.conf
) добавлением параметра:
...
pm.status_path = /status_phpfpm
...
Не забудьте также включить доступ к странице статуса php-fpm
в конфигах web-сервера Nginx, например:
server {
listen 127.0.0.1:8080;
server_name localhost;
location /status_phpfpm {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
allow 127.0.0.1;
deny all;
}
}
Проверить корректность настройки страницы статуса можно php-fpm
так:
wget -qO- http://127.0.0.1:8080/status_phpfpm?json
Далее необходимо настроить плагин Nixstats — открываем конфигурационный файл /etc/nixstats.ini
и добавляем в него следующие строки:
[phpfpm]
enabled = yes
status_page_url = http://127.0.0.1:8080/status_phpfpm?json
Тестируем:
nixstatsagent --test phpfpm
Результат должен быть примерно следующим:
phpfpm:
{
"accepted_conn": 3015,
"accepted_conn_per_second": 0.0,
"active_processes": 1,
"idle_processes": 0,
"listen_queue": 0,
"listen_queue_len": 128,
"max_active_processes": 1,
"max_children_reached": 0,
"max_listen_queue": 1,
"pool": "www",
"process_manager": "ondemand",
"slow_requests": 0,
"start_since": 294686,
"start_time": 1492504250,
"total_processes": 1
}
Теперь перезапускаем агент мониторинга:
service nixstatsagent restart
И ждем появления метрик в веб-интерфейсе сервиса мониторинга.