LoginSignup
4
2

More than 1 year has passed since last update.

Docker上で起動しているWebアプリのSupervisorをDatadogで監視する

Last updated at Posted at 2021-07-11

結論

/var/run/supervisor.sockをVolumeマウントして、
WebアプリコンテナとDatadogAgentコンテナ間で/var/run/supervisor.sockを使用できるようにする。

経緯

DatadogによるSupervisor チェックによると

/etc/supervisor.conf
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

[unix_http_server]
file=/var/run/supervisor.sock
chmod=777
chown=nobody:nogroup

こちらの設定だけで、DatadogでSupervisorが監視できるとのこと。

だが、Connection refuseされまくる。。。
そもそもDatadogAgentで、unix:///var/run/supervisor.sockに接続できないっぽい。。。

結論にも書いてある通りですが、
/var/run/supervisor.sockを、DatadogAgentコンテナにだけ記述しても、そんなものはDatadogAgentコンテナには存在しない。ここに気づくまでだいぶ時間飛ばしました。

対応策

/var/run/supervisor.sockをVolumeマウントして、
WebアプリコンテナとDatadogAgentコンテナ間で/var/run/supervisor.sockを使用できるようにする。

具体例

supervisorsocketという名称のVolumeマウント作成し、
WebアプリコンテナとDatadogAgentコンテナ間で/var/run/supervisor.sockを使用できるようにする。

docker-compose.yml
version: '3'
services:

  # Webアプリコンテナ
  app:
    build:
    .
    .
    .
    volumes:
      - supervisorsocket:/var/run

  # DatadogAgentコンテナ
  dd-agent:
    image: datadog/agent:7
    .
    .
    .
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - supervisorsocket:/var/run
    .
    .
    .

#Volumes
volumes:
  supervisorsocket:
    driver: local

参考

Datadog公式ドキュメント

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2