LINEで送る
Pocket

最近Mackerelではなく、Datadogでの監視方法を勉強しまくっているのですが、なかなか理解不足と慣れないという言い訳により、かなりハマっております。今回はECS/Fargateのコンテナ監視を試してTerraform化をしたので、ブログします!


■Amazon Fargate – Datadog Docs

https://docs.datadoghq.com/ja/integrations/ecs_fargate/

Datadog で ECS Fargate タスクを監視するには、アプリケーションと同じタスク定義内のコンテナとして Agent を実行します

というわけで、現在動いているコンテナのタスク定義にdatadog-agentコンテナを動かすようにすればOK。


■Datadog

  • add integrations

  • add API Keys


■Terraform

  • files/task-definitions/app.json

 タスク定義に追加している部分は 40行目 です。タスクサイズのスペックcpu:1024memory:2048 で、各コンテナのスペックは以下のように調整しています。

・app

  • cpu:1014
  • memory:1792

・datadog-agent

  • cpu:10
  • memory:256

環境変数はドキュメントの通り1つと、メトリックス収集(DOGSTATSD/ライブプロセスモニタリング)のため2つ指定しており、 DD_API_KEY : API Key は手動で追加しています。

・ECS_FARGATE : true
・DD_PROCESS_AGENT_ENABLED : true
・DD_DOGSTATSD_NON_LOCAL_TRAFFIC : true

  • files/assume_role_policy/datadog-agent.json

  • iam.tf

タスクの実行ロールにdatadog用のポリシーを追加しましょう。 1行目と20行目 にポリシーをアタッチしています。


■確認

  • Infrastructure > Containers

  • Infrastructure > Processes

  • Dashboard

CPU、Memory、I/O、ネットワークトラフィック、プロセスが取れていればOK!!


■まとめ

datadog-agentコンテナ用のタスク定義を1つ作るのかと勘違いしてハマりましたが、Mackerelと同様にサービス1つに監視コンテナを作ればリソースが取れます。しかしドキュメントが見にくい….他にも細かくメトリックスが取れるので次回ブログします!

LINEで送る
Pocket


adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社インフラ対応、ECS/Fargateへの移行、Wordpressによるコーポレートサイトの修正、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください