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の懸念点が一つ改善されました。

元記事はこちら

DatadogでFargateをモニタリング