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
こんな感じでとれました。
↑のサイトではRedisのコンテナを動かして、dockerLabels
のオプションをつけて、AutodiscoveryによるRedisのモニタリングをしています。
AutoDiscoveryは対応しているソフトウェアならちょこっと追加するだけで、ステータスがとれるみたいですね。
https://docs.datadoghq.com/agent/autodiscovery/
ecs-cliでは今のところ dockerLabels
は対応していないっぽいので、この機能使うのであれば、TaskDininitionからつくる必要があると思います。
Fargateの懸念点が一つ改善されました。