Datadog で ECS タスクのメトリクスを見れるようになるまで
Datadog で ECS のメトリクスを見れるようになるまでちょっとハマったのでメモ。
やろうとしたこと
Datadog の公式ドキュメント を参考に、 Datadog コンテナを ECS タスクで動かして、 Datadog 上で ECS クラスタのコンテナの状況を見れるようにしようとしました。
構成
下記構成でハマりました。
ECS + EC2
amzn-ami-2018.03.x-amazon-ecs-optimized (ami-0a7edd69bbca1d1f0)
ECS エージェントバージョン 1.31.0
ハマったところ
タスク定義が見れない
上記ドキュメント内に Datadog のコンテナを動かすための ECS タスク定義のJSONのリンクがあったのですが、リンクが間違っているのか見ることができないです(2019/11/12 現在)
ブログのリンクをお借りする
とりあえず、こちらのブログに貼ってあったリンクを使いました(URL を見た限りだと最新の JSON っぽいけどどうなんだろう・・・)。
メトリクスが取れない
上記 JSON を使って無事 Datadog コンテナが起動できた!
・・・しかし動いているタスクの一覧は表示されるけど、 CPU やメモリなどのメトリクスが取れていない。
ログを見てみる
Datadog タスクのログを取ってみたところ、下記のログが出力されていました。
2019-11-12 07:48:05 UTC | PROCESS | WARN | (pkg/util/containers/metrics/cgroup_detect.go:126 in parseCgroupMountPoints) | No mountPoints were detected, current cgroup root is: /host/sys/fs/cgroup/
cgroup のパスがおかしい?
調べてみたら、 Datadog はタスクのメトリクスを cgroup
から取ってるらしく、 cgroup
がうまくマウントされていない?
github でもこんな Issue が。パスが間違っている?
EC2 を確認
ECS のクラスタとして動かしている EC2 にログインして タスク定義 JSON に記載されている cgroup
のパスを確認してみました。
# cd /sys/fs/cgroup/
# ls -a
. ..
空っぽ・・・。
上記 github の Issue のパスを見てみると
# cd /cgroup/
# ls -a
. blkio cpuacct devices hugetlb perf_event
.. cpu cpuset freezer memory
こちらが正しいパスのようです。
タスク定義を直す
このパスを直して以下のような JSON にすると Datadog 上での正しくコンテナの様子を見れるようになりました。
{
"containerDefinitions": [
{
"name": "datadog-agent",
"image": "datadog/agent:latest",
"cpu": 10,
"memory": 256,
"essential": true,
"mountPoints": [
{
"containerPath": "/var/run/docker.sock",
"sourceVolume": "docker_sock",
"readOnly": true
},
{
"containerPath": "/host/sys/fs/cgroup",
"sourceVolume": "cgroup",
"readOnly": true
},
{
"containerPath": "/host/proc",
"sourceVolume": "proc",
"readOnly": true
}
],
"environment": [
{
"name": "DD_API_KEY",
"value": "<YOUR_DATADOG_API_KEY>"
},
{
"name": "DD_SITE",
"value": "datadoghq.com"
}
]
}
],
"volumes": [
{
"host": {
"sourcePath": "/var/run/docker.sock"
},
"name": "docker_sock"
},
{
"host": {
"sourcePath": "/proc/"
},
"name": "proc"
},
{
"host": {
"sourcePath": "/cgroup/"
},
"name": "cgroup"
}
],
"family": "datadog-agent-task"
}
Author And Source
この問題について(Datadog で ECS タスクのメトリクスを見れるようになるまで), 我々は、より多くの情報をここで見つけました https://qiita.com/kobarasukimaro/items/98867484f01d727570ab著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .