Настройка мониторинга 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

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


Создано:
Автор:
« Назад на главную

comments powered by Disqus
Fork me on GitHub