サーバーリソースの可視化は以前やったので、今度は Docker の情報を可視化してみました。
Grafana のダッシュボードは以下を使いました。
これに書いてあることをやっただけですが・・・。
telegraf.conf の設定
以下を追加します。
[[inputs.docker]]
endpoint = "unix:///var/run/docker.sock"
gather_services = false
container_name_include = []
container_name_exclude = []
timeout = "5s"
docker_label_include = []
docker_label_exclude = []
perdevice = true
total = false
docker-compose.yaml の設定
Telegraf の volume に /var/run/docker.sock を追加します。
また、/var/run/docker.sock にアクセスするためには Telegraf の実行ユーザーを Docker と同じにする必要があります。
volumes:
- /var/run/docker.sock:/var/run/docker.sock
users: 1000:133 # UID:GID
さらに、情報を習得したい全サービスに以下を追加してグループ化します。
labels:
- "docker.group=<some_name>"
ラベルの名前は何でもいいようです。
ラベルを設定しなかったサービスの情報は取得されませんでした。
Grafana の設定
以下から JSON ファイルをダウンロードし、Grafana でインポートします。
以上で以下のようなダッシュボードが表示されます。
