Help us understand the problem. What is going on with this article?

Datadogでdockerコンテナを監視を始めたときのメモ

この記事について

AWSのEC2(なお、OSはAmazon Linux2)上に配置しているairflowのログ収集をdatadogに任せたく、チュートリアルに従って設定を行ったら本当に一瞬で終わってしまったので、メモがてら残しておく。datadog agentは参考記事1にならいdockerイメージ版を利用した。
設定にあたっては、公式ドキュメント2にある一番シンプルなスクリプトに環境変数をいくつか追加している。

やったこと

下記のシェルスクリプトを実行しただけ。本当にそれだけ。

init_dd-agent.sh
#!/bin/bash -eu

DOCKER_CONTENT_TRUST=1 \
docker run  -d --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro \
                               -v /proc/:/host/proc/:ro \
                               -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
                               -e DD_API_KEY=$MY_DD_API_KEY \
                               -e DD_TAGS="<your-tag1> <your-tag2>" \
                               -e DD_LOGS_ENABLED=true \
                               -e DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true \
                               -e DD_AC_EXCLUDE="name:datadog-agent" \
                               -e SD_BACKEND="docker" \
                               -e NON_LOCAL_TRAFFIC=false \
                               datadog/agent:latest

正常に実行されていれば、datadog agentのコンテナが起動しているはずなので、docker ps コマンドを実行して確認しよう。
また、プロセスが実行されたあとにdatadog上にサーバのメトリクスやログが飛んできているか確認しましょう。

設定のポイント

個人的には公式ドキュメントの他、datadog-agentのgithubリポジトリ3にも色々説明が乗っているので、監視したい対象に合わせて最適なオプションを探しましょう。

  • DD_API_KEY は当然ながら必須の設定。datadogの管理画面から取得し、環境変数にでも入れておきましょう。
  • DD_TAGSにはスペース区切りでタグを入れることでdatadogの画面上での検索性が上がる。部署名などお好きなものをどうぞ。
  • DD_LOGS_ENABLEDtrueに設定することにより、DatadogのLogs配下にログが飛んでくるようになる。これを設定しないとサーバのメトリクスのみが連携される。
  • DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL これをtrueにすることで、全てのコンテナの実行ログを取ることができる。airflow自体もdocker-composeで実行している他、airflowから複数のコンテナが起動おとび実行される想定のため設定した。
  • DD_AC_EXCLUDEを設定することでログを収集しないコンテナを指定できる。今回の場合はdatadog-agent自体のログを収集しないため設定。

参考記事

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした