Добавляем в Netdata мониторинг и вывод статистики работы PHP-FPM на сервере.
Предварительно стоит обратить внимание на заметки об установке Netdata и о добавлении Nginx в мониторинг.
Netdata и PHP-FPM.
1. Проверим, что бы в настройках нужного нам fpm-пула была задана страница со статусом. Для этого, открываем конфиг пула и находим там параметр:
pm.status_path = /fpmstatus
2. В настройках Nginx создаём соответствующий location, для вывода php-fpm статуса (1.2.3.4 у меня — IP сервера):
location /fpmstatus { stub_status on; access_log off; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php-sysadmin.pm.sock; include /etc/nginx/fastcgi_params; allow 127.0.0.1; allow 1.2.3.4; deny all; }
Сохраняем файл, перезапускаем Nginx и тестируем получение статуса запросом:
# curl "https://domain.com/fpmstatus" pool: domain.com process manager: ondemand start time: 11/Jul/2018:09:55:03 +0300 start since: 2978 accepted conn: 2905 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 1 active processes: 1 total processes: 2 max active processes: 3 max children reached: 0 slow requests: 0
3. Для настройки плагина в мониторинге, открываем конфиг /etc/netdata/python.d/phpfpm.conf, прокручиваем его вниз и прописываем адрес доступа к статусу вот так:
localhost: name : 'local' url : "https://domain.com/fpmstatus?full&json" localipv4: name : 'local' url : "https://domain.com/fpmstatus?full&json"
4. В конфиге /etc/netdata/python.d.conf проверяем включение плагина:
phpfpm: yes
5. Перезапускаем сервисы и проверяем панель мониторинга. Там, если всё сделано верно, для php-fpm появится отдельная секция:
«php-sysadmin.pm.sock;»
Что это такое? Ты что употреблял когда писал статью?
А что конкретно смущает в именовании? 🙂
Не понял немного. Если у меня 20 сайтов, каждый на отдельном php-fpm сокете, то я могу мониторить только один из них?