Настройка мониторинга php-fpm через Datadog
Для настройки мониторинга необходимо внести некоторые изменеия в pool, который собираемся мониторить, настройку хоста в nginx и подключить конфиг агенту datadog.
Для начала откроем файл пула и раскоментируем следующие строки:
pm.status_path = /status
ping.path = /ping
ping.response = pong
Далее откроем конфиг хоста в nginx, который собираемся мониторить и добавим туда (в секцию server
) такой блок:
location ~ ^/(status|ping)$ {
access_log off;
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
Где /var/run/php5-fpm.sock
- файл, через который общается подлежащий мониторингу пул и nginx.
В некоторых случаях агент может коннектиться не из под 127.0.0.1 а, например, с глобального IP. Так работают мои VDS у Hetzner. Чтобы это узнать, можно закоментировать строку access_log off;
и посмотреть access.log
.
Теперь созданим файл /etc/dd-agent/conf.d/php-fpm.yaml
примерно такого содержания:
init_config:
instances:
status_url: http://example.com/status
ping_url: http://example.com/ping
ping_reply: pong
tags:
- site:example.com
Теперь надо перезагрузить все службы:
sudo service php-fpm restart
sudo service nginx restart
sudo service datadog-agent restart
Если все сделано правильно, то мониторинг успешно заработает. Чтобы убедиться, что все OK, запустим команду:
sudo service datadog-agent info
Если на сервере находится несколько сайтов, то эти шаги необходимо применить для каждого, который будем мониторить.
Автор: keltanas
comments powered by Disqus