Edited at

DatadogでFargateをモニタリング

More than 1 year has passed since last update.

DatadogでFargateのモニタリングができるようになりました。

これまで、Fargateにdatadogのエージェント入れようとしても、ホストがマウントできないので、どうやってやるんだ?って感じでしたが、先日発表されたFargateの1.1でタスクメタデータのエンドポイントがサポートされたおかげでちゃんとできるようになったようです。

https://aws.amazon.com/jp/about-aws/whats-new/2018/03/aws-fargate-platform-version-1-1/

やりかたなどはこちらに。

https://www.datadoghq.com/blog/monitor-aws-fargate/

ここではTaskDininition書いてrun-taskする方法で書かれてますが、ecs-cliでサービスとして起動させてみました。

とりあえずいつもテストで使ってるWordpressのやつで。


docker-compose.yml

version: '2'

services:
wordpress:
image: wordpress
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: 127.0.0.1
WORDPRESS_DB_PASSWORD: password
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: password
datadog:
image: datadog/agent:latest
environment:
DD_API_KEY: {$DD_API_KEY}
ECS_FARGATE: "true"

基本的にはタスク定義の中でDatadogエージェントをサイドカーで動かして、ECS_FARGATE: true だけで動くみたいです。 簡単です。

これを起動させると、

$ ecs-cli compose service up --launch-type FARGATE

スクリーンショット 2018-04-03 11.34.10.png

こんな感じでとれました。

↑のサイトではRedisのコンテナを動かして、dockerLabelsのオプションをつけて、AutodiscoveryによるRedisのモニタリングをしています。

AutoDiscoveryは対応しているソフトウェアならちょこっと追加するだけで、ステータスがとれるみたいですね。

https://docs.datadoghq.com/agent/autodiscovery/

ecs-cliでは今のところ dockerLabels は対応していないっぽいので、この機能使うのであれば、TaskDininitionからつくる必要があると思います。

Fargateの懸念点が一つ改善されました。