DatadogでFargateのモニタリングができるようになりました。
これまで、Fargateにdatadogのエージェント入れようとしても、ホストがマウントできないので、どうやってやるんだ?って感じでしたが、先日発表されたFargateの1.1でタスクメタデータのエンドポイントがサポートされたおかげでちゃんとできるようになったようです。
https://aws.amazon.com/jp/about-aws/whats-new/2018/03/aws-fargate-platform-version-1-1/
やりかたなどはこちらに。
ここではTaskDininition書いてrun-taskする方法で書かれてますが、ecs-cliでサービスとして起動させてみました。
とりあえずいつもテストで使ってるWordpressのやつで。
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の懸念点が一つ改善されました。