Amazon ECS on EC2
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Amazon ECS on EC2

Agent Check Agentチェック

概要

Amazon ECS on EC2 は、EC2 インスタンスで実行される Docker コンテナ用の拡張性とパフォーマンスに優れたコンテナ管理サービスです。

このページは Datadog コンテナ Agent v6 を使用した AWS ECS のセットアップについて説明します。他のセットアップについては、以下を参照してください。

セットアップ

ECS コンテナおよびタスクを Datadog でモニタリングするには、ECS クラスターの各 EC2 インスタンスでエージェントをコンテナとして実行します。以下にセットアップ方法を説明します。

  1. ECS タスクを追加
  2. IAM ポリシーの作成と修正
  3. Datadog エージェントをDaeson サービスとしてスケジュール

稼働中の EC2 Container Service クラスターが構成されていない場合は、ECS ドキュメント内の Getting Started セクションを参照してください。

メトリクスの収集

ECS タスクの作成

このタスクにより Datadog コンテナが起動します。コンフィグレーションを変更するには、このタスクの定義を更新します(方法はこのガイドで後述)。APM、DogStatsD、ログを使用している場合は、タスク定義に適切なフラグを設定します。

  • APM を使用する場合は portMappings を設定し、ダウンストリームのコンテナからトレースデータがエージェントサービスに渡るようにします。APM はポート 8126TCP を使用してトレースを受け取るため、このポートを hostPort としてタスク定義内で設定します。なお、他のコンテナからトレースを収集するには、DD_APM_NON_LOCAL_TRAFFIC 環境変数を true に設定しておく必要があります。APM とコンテナの詳細はこちらを参照してください。
  • DogStatsD を使用している場合は、タスクの定義で 8125hostPortUDP に設定します。他のコンテナからDogStatsD のメトリクス収集を有効にするには、DD_DOGSTATSD_NON_LOCAL_TRAFFIC 環境変数を true に設定する必要があります。
  • ログを使用している場合は、ログ収集ドキュメントを参照してください。

EC2 インスタンスでセキュリティグループ設定を再度チェックします。これらのポートが非公開であること確認してください。Datadog では、プライベート IP アドレスを使用してトレースをコンテナからエージェントへ渡します。

タスクの設定には、AWS CLI ツールまたは Amazon Web コンソールを使用できます。

  1. Linux コンテナで datadog-agent-ecs.json (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-ecs1.json) をダウンロードします。Windows の場合は datadog-agent-ecs-win.json をダウンロードします。
  2. datadog-agent-ecs.json を編集し、アカウントの Datadog API キーを使用して <YOUR_DATADOG_API_KEY> を設定します。
  3. オプション - Agent 健全性チェックを追加します。
  4. オプション - Datadog EU サイトをご利用の場合は、datadog-agent-ecs.json を編集して DD_SITEDD_SITE:datadoghq.eu に設定します。
  5. オプション - ログの収集を有効にするには、ログの収集ページを参照してください。
  6. オプション - プロセスの収集を有効にするには、プロセスの収集を参照してください。
  7. オプション - トレースの収集を有効にするには、トレースの収集 (APM)を参照してください。
  8. 任意 - ネットワークの収集を有効にするには、ネットワークパフォーマンスモニタリング (NPM) を参照してください
  9. 次のコマンドを実行します。

    aws ecs register-task-definition --cli-input-json <path to datadog-agent-ecs.json>
Agent 健全性チェック

ECS タスク定義に次を追加して、Agent 健全性チェックを作成します。

"healthCheck": {
  "retries": 3,
  "command": ["CMD-SHELL","agent health"],
  "timeout": 5,
  "interval": 30,
  "startPeriod": 15
}
  1. AWS コンソールにログインし、EC2 コンテナサービス セクションに移動します。
  2. Datadog を追加するクラスターをクリックします。
  3. 左側の Task Definitions をクリックし、Create new Task Definition ボタンをクリックします。
  4. Task Definition Name に入力します(例: datadog-agent-task)。
  5. Add volume リンクをクリックします。
  6. Namedocker_sock と入力します。Source Path に、Linux の場合は /var/run/docker.sock、Windows の場合は \\.\pipe\docker_engine と入力し、Add をクリックします。
  7. Linux に限り、ボリュームをもう 1 つ追加して、名前を proc、ソースパスを /proc/ に設定します。
  8. Linux に限り、ボリュームをもう 1 つ追加して、名前を cgroup、ソースパスを /sys/fs/cgroup/ (オリジナルの Amazon Linux AMI を使用している場合は /cgroup/) に設定します。
  9. Add container ボタンをクリックします。
  10. Container namedatadog-agent と入力します。
  11. Imagedatadog/agent:latest と入力します。
  12. Maximum memory256 と入力します。: 多くのリソースを使用する場合は、メモリの上限を上げる必要があります。
  13. Advanced container configuration セクションまでスクロールし、CPU units10 と入力します。
  14. Env Variables に、Key DD_API_KEY を追加し、値に Datadog API キーを入力します。こうした守秘性の高い情報を S3 に保管したい場合は、ECS の構成ガイドを参照してください。*
  15. DD_TAGS キーを使用して、追加するタグに別の環境変数を追加します。
  16. Storage and Logging セクションまで下へスクロールします。
  17. Mount pointsdocker_sock ソースボリュームを選択し、コンテナのパスに Linux の場合は /var/run/docker.sock、Windows の場合は \\.\pipe\docker_engine と入力します。Read only のチェックボックスをオンにします。
  18. Linux に限り、proc 用に別のマウントポイントを追加し、コンテナのパスに /host/proc/ と入力します。Read only チェックボックスをオンにします。
  19. Linux に限り、cgroup 用に 3 つ目のマウントポイントを追加して、コンテナのパスに /host/sys/fs/cgroup と入力します。Read only チェックボックスをオンにします (オリジナルの Amazon Linux AMI を使用している場合は /host/cgroup/ を使用してください)。

: Datadog タスク定義で CPU を 10 台使用するように設定すると、service:datadog-agentaws.ecs.cpuutilization が 1000% と表示されることがあります。これは AWS が CPU 使用率を表示する際の独特な現象です。CPU の台数を増やすことで、グラフの歪曲を回避できます。

IAM ポリシーの作成と修正

Amazon ECS のメトリクスを収集するために、次のアクセス許可を Datadog IAM ポリシーに追加します。ECS ポリシーの詳細については、AWS Web サイトのガイドを参照してください。

AWS アクセス許可説明
ecs:ListClusters既存のクラスターのリストを返します。
ecs:ListContainerInstances指定されたクラスター内のコンテナインスタンスのリストを返します。
ecs:ListServices指定したクラスターで実行されているサービスを一覧表示します。
ecs:DescribeContainerInstancesAmazon ECS コンテナインスタンスについて説明します。

Agent をデーモンサービスとして実行

Datadog Agent は、各 EC2 インスタンス上の 1 つのコンテナで実行するのが理想的です。最も簡単なのは、Datadog Agent をデーモンサービスとして実行する方法です。

Datadog の ECS タスクを使用して、AWS でデーモンサービスをスケジューリングする
  1. AWS コンソールにログインし、ECS クラスターページに移動します。Agent を実行するクラスターをクリックします。
  2. 新しいサービスを作成するには、「サービス」で Create ボタンをクリックします。
  3. 起動タイプに EC2 を選択し、先に作成したタスク定義を選択します。
  4. サービスタイプに DAEMON を選択し、サービス名を入力したら Next をクリックします。
  5. サービスは各インスタンスで 1 度しか実行されないため、ロードバランサーは不要です。選択せずに Next をクリックします。
  6. デーモンサービスはオートスケーリングを必要としないので、Next Step の後に Create Service をクリックします。

実行中のサービスを動的に検出しモニタリング

ECS および Docker を併用して Datadog のオートディスカバリーを実行すると、環境内で実行中のタスクを自動的に検出して監視できます。

AWSVPC モード

Agent v6.10 以上では、実際のコンテナと Agent コンテナの両方で awsvpc モードがサポートされていますが、以下の条件があります。

  1. awsvpc モードのアプリおよび Agent の場合は、セキュリティグループを以下のように設定する必要があります。

    • Agent のセキュリティグループが、関連するポートの該当するコンテナに到達できること。
    • Agent のセキュリティグループが、TCP ポート 51678 でホストインスタンスに到達できること。ECS Agent コンテナは、ホストネットワークモード (デフォルト) で実行されるか、ポートがホストに連結されている必要があります。
  2. アプリが awsvpc モードで Agent が bridge モードの場合は、ホストインスタンスのセキュリティグループが、関連するポートの該当するコンテナに到達できるようにセキュリティグループを設定する必要があります。

リソースタグ収集

ECS リソースタグを収集するには

  1. Amazon ECS コンテナインスタンスが IAM ロールに関連付けられていることを確認します。これは、ECS クラスター作成ウィザードを使用して新しいクラスターを作成するとき、または自動スケーリンググループが使用する起動構成で行うことができます。
  2. ecs:ListTagsForResourceAmazon ECS コンテナインスタンスで使用される IAM ロールを更新します。
  3. datadog-agent-ecs.json ファイル (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-ecs1.json) を更新して、次の環境変数を追加してリソースタグの収集を有効にします。

    {
      "name": "DD_ECS_COLLECT_RESOURCE_TAGS_EC2",
      "value": "true"
    }

  • IAM ロールが、基底の EC2 インスタンスではなく、Amazon ECS コンテナインスタンスに関連付けられていることを確認します。
  • ECS リソースタグは EC2 インスタンスからは収集できますが、AWS Fargate からは収集できません。
  • この機能には、Datadog Agent v6.17+ または v7.17+ が必要です。
  • Agent は、tasksservicescontainer instances ECS リソースからの ECS タグ収集をサポートします。

ログの収集

ECS コンテナ内で実行中のアプリケーションにより書き込まれるログをすべて収集し、Datadog アプリケーションに送信する方法は、以下のとおりです。

  1. 前述の手順に従い Datadog Agent をインストールします。
  2. 次の構成で datadog-agent-ecs.json ファイル (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-ecs1.json) を更新します。

    {
        "containerDefinitions": [
        (...)
          "mountPoints": [
            (...)
            {
              "containerPath": "/opt/datadog-agent/run",
              "sourceVolume": "pointdir",
              "readOnly": false
            },
            (...)
          ],
          "environment": [
            (...)
            {
              "name": "DD_LOGS_ENABLED",
              "value": "true"
            },
            {
              "name": "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL",
              "value": "true"
            },
            (...)
          ]
        }
      ],
      "volumes": [
        (...)
        {
          "host": {
            "sourcePath": "/opt/datadog-agent/run"
          },
          "name": "pointdir"
        },
        (...)
      ],
      "family": "datadog-agent-task"
    }
  3. ログが stdout/stderr に書き込まれ、Agent によって収集されるように、コンテナ定義に logConfiguration.logDriver パラメーターが含まれていないことを確認してください。このパラメーターが awslogs に設定されている場合、AWS Lambda を使用して CloudWatch から ECS ログを収集することで、Agent なしで Amazon ECS ログを収集します。

  1. 前述の手順に従い Datadog Agent をインストールします。
  2. 次の構成を使用して datadog-agent-ecs-win.json ファイルを更新します。

    {
        "containerDefinitions": [
        (...)
          "mountPoints": [
            (...)
            {
              "containerPath": "c:\\programdata\\datadog\\run",
              "sourceVolume": "pointdir",
              "readOnly": false
            },
            (...)
          ],
          "environment": [
            (...)
            {
              "name": "DD_LOGS_ENABLED",
              "value": "true"
            },
            {
              "name": "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL",
              "value": "true"
            },
            (...)
          ]
        }
      ],
      "volumes": [
        (...)
        {
          "host": {
            "sourcePath": "c:\\programdata\\datadog\\run"
          },
          "name": "pointdir"
        },
        (...)
      ],
      "family": "datadog-agent-task"
    }
  3. ログが stdout/stderr に書き込まれ、Agent によって収集されるように、コンテナ定義に logConfiguration.logDriver パラメーターが含まれていないことを確認してください。このパラメーターが awslogs に設定されている場合、AWS Lambda を使用して CloudWatch から ECS ログを収集することで、Agent なしで Amazon ECS ログを収集します。

インテグレーションのためのログ収集を有効にする

各コンテナに使用するインテグレーションを特定するには、source 属性を使用します。この属性をコンテナのラベルで直接上書きすれば、ログのインテグレーションが有効になります。このプロセスの詳細については、Datadog のログのオートディスカバリー ガイドを参照してください。

プロセスの収集

以下の方法で、コンテナの処理情報を収集し Datadog に送信します。

  1. 前述の手順に従い Datadog Agent をインストールします。
  2. 次の構成で datadog-agent-ecs.json ファイル (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-ecs1.json) を更新します。

    {
    "containerDefinitions": [
    (...)
      "mountPoints": [
        (...)
        {
          "containerPath": "/etc/passwd",
          "sourceVolume": "passwd",
          "readOnly": true
        },
        (...)
      ],
      "environment": [
        (...)
        {
          "name": "DD_PROCESS_AGENT_ENABLED",
          "value": "true"
        }
      ]
    }
    ],
    "volumes": [
    (...)
    {
      "host": {
        "sourcePath": "/etc/passwd"
      },
      "name": "passwd"
    },
    (...)
    ],
    "family": "datadog-agent-task"
    }
  1. 前述の手順に従い Datadog Agent をインストールします。
  2. 次の構成を使用して datadog-agent-ecs-win.json ファイルを更新します。

    {
    "containerDefinitions": [
    (...)
      "environment": [
        (...)
        {
          "name": "DD_PROCESS_AGENT_ENABLED",
          "value": "true"
        }
      ]
    }
    ],
    "family": "datadog-agent-task"
    }

トレースの収集

Datadog Agent をインストールした後、トレースの収集を有効にします(オプション)。

  1. datadog/agent コンテナのタスク定義で次のパラメーターを設定します。

    • ポート マッピング : ホスト / コンテナ ポート 8126、プロトコル tcp:

      containerDefinitions": [
      {
      "name": "datadog-agent",
      "image": "datadog/agent:latest",
      "cpu": 10,
      "memory": 256,
      "essential": true,
      "portMappings": [
      {
        "hostPort": 8126,
        "protocol": "tcp",
        "containerPort": 8126
      }
      ],
      ...
    • Agent v7.17 以下の場合、以下の環境変数を追加します。

      ...
        "environment": [
          ...
        {
          "name": "DD_APM_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_NON_LOCAL_TRAFFIC",
          "value": "true"
        },
        ...
        ]
      ...

    Agent トレースの収集に使用できるすべての環境変数を参照してください

  2. アプリケーションコンテナでコンテナが実行されている基底の各インスタンスのプライベート IP アドレスを DD_AGENT_HOST 環境変数に割り当てます。これにより、アプリケーショントレースを Agent に送信できます。Amazon の EC2 メタデータエンドポイントでは、プライベート IP アドレスを検出できます。各ホストのプライベート IP アドレスを取得するには、次の URL に curl を実行します。

    curl http://169.254.169.254/latest/meta-data/local-ipv4

次に、APM に渡される各アプリケーション コンテナのトレース Agent ホスト名の環境変数として結果を設定します。

```text
os.environ['DD_AGENT_HOST'] = <EC2_PRIVATE_IP>
```

ECS アプリケーションの変数が起動時に設定される場合は、DD_AGENT_HOST を使ってホスト名を環境変数として設定する_必要があります_。あるいは、Python、JavaScript、Ruby の場合は対象のホスト名をアプリケーションのソースコード内で設定することも可能です。Java と .NET の場合は、ECS タスクでホスト名を設定できます。たとえば、以下のとおりです。

import requests
from ddtrace import tracer


def get_aws_ip():
  r = requests.get('http://169.254.169.254/latest/meta-data/local-ipv4')
  return r.text

tracer.configure(hostname=get_aws_ip())

他の言語で Agent ホスト名を設定するには、Agent ホスト名の変更方法を参照してください。

const tracer = require('dd-trace');
const request = require('request');

request('http://169.254.169.254/latest/meta-data/local-ipv4', function(
    error,
    resp,
    body
) {
    tracer.init({ hostname: body });
});

他の言語で Agent ホスト名を設定するには、Agent ホスト名の変更方法を参照してください。

require 'ddtrace'
require 'net/http'

Datadog.configure do |c|
  c.tracer hostname: Net::HTTP.get(URI('http://169.254.169.254/latest/meta-data/local-ipv4'))
end
package main

import (
    "net/http"
    "io/ioutil"
    "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)

resp, err := http.Get("http://169.254.169.254/latest/meta-data/local-ipv4")
        bodyBytes, err := ioutil.ReadAll(resp.Body)
        host := string(bodyBytes)
   if err == nil {
        //curl コマンドの出力を DD_Agent_host 環境に設定します
        os.Setenv("DD_AGENT_HOST", host)
         // トレース Agent にホスト設定を通知します
        tracer.Start(tracer.WithAgentAddr(host))
        defer tracer.Stop()

このスクリプトを ECS タスク定義の entryPoint フィールドにコピーし、アプリケーション jar および引数フラグで値を更新します。

"entryPoint": [
  "sh",
  "-c",
  "export DD_AGENT_HOST=$(curl http://169.254.169.254/latest/meta-data/local-ipv4); java -javaagent:/app/dd-java-agent.jar <アプリケーション引数フラグ> -jar <アプリケーション_JAR_ファイル/WAR_ファイル>"
]

他の言語で Agent ホスト名を設定するには、Agent ホスト名の変更方法を参照してください。

"entryPoint": [
  "sh",
  "-c",
  "export DD_AGENT_HOST=$(curl http://169.254.169.254/latest/meta-data/local-ipv4); dotnet ${APP_PATH}"
]

ネットワークパフォーマンスモニタリングの収集 (Linux のみ)

  1. 前述の手順に従い Datadog Agent をインストールします。
    • 初めてインストールする場合は datadog-agent-ecs.json ファイル datadog-agent-sysprobe-ecs.json (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-sysprobe-ecs1.json) を使用できます。使用方法については、上記の指示に従ってください。AWS UI では linuxParameters を追加できないため、初回の NPM セットアップでは CLI が必要です。
  2. タスク定義がすでに存在する場合は、次の構成で datadog-agent-ecs.json ファイル (オリジナルの Amazon Linux AMI を使用している場合は datadog-agent-ecs1.json) を更新します。

    {
    "containerDefinitions": [
     (...)
       "mountPoints": [
         (...)
         {
           "containerPath": "/sys/kernel/debug",
           "sourceVolume": "debug"
         },
         (...)
       ],
       "environment": [
         (...)
         {
           "name": "DD_SYSTEM_PROBE_ENABLED",
           "value": "true"
         }
       ],
       "linuxParameters": {
        "capabilities": {
          "add": [
            "SYS_ADMIN",
            "SYS_RESOURCE",
            "SYS_PTRACE",
            "NET_ADMIN"
          ]
        }
      },
    ],
    "requiresCompatibilities": [
    "EC2"
    ],
    "volumes": [
     (...)
     {
      "host": {
        "sourcePath": "/sys/kernel/debug"
      },
      "name": "debug"
     },
     (...)
    ],
    "family": "datadog-agent-task"
    }

収集データ

メトリクス

aws.ecs.cluster.cpureservation
(gauge)
The percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpureservation.maximum
(gauge)
The maximum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpureservation.minimum
(gauge)
The minimum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpuutilization
(gauge)
The percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.cpuutilization.maximum
(gauge)
The maximum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.cpuutilization.minimum
(gauge)
The minimum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_reservation
(gauge)
The percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_reservation.maximum
(gauge)
The maximum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_reservation.minimum
(gauge)
The minimum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_utilization
(gauge)
The percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_utilization.maximum
(gauge)
The maximum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_utilization.minimum
(gauge)
The minimum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cpureservation
(gauge)
The percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpureservation.maximum
(gauge)
The maximum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpureservation.minimum
(gauge)
The minimum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpuutilization
(gauge)
The percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cpuutilization.maximum
(gauge)
The maximum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cpuutilization.minimum
(gauge)
The minimum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.memory_reservation
(gauge)
The percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_reservation.maximum
(gauge)
The maximum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_reservation.minimum
(gauge)
The minimum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_utilization
(gauge)
The percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.memory_utilization.maximum
(gauge)
The maximum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.memory_utilization.minimum
(gauge)
The minimum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.pending_tasks_count
(gauge)
The number of tasks on the container instance that are in the PENDING status.
Shown as task
aws.ecs.registered_cpu
(gauge)
The number of CPU units registered on the container instance
aws.ecs.registered_memory
(gauge)
The number of Memory units registered on the container instance
aws.ecs.remaining_cpu
(gauge)
The number of CPU units remaining on the container instance
aws.ecs.remaining_memory
(gauge)
The number of Memory units remaining on the container instance
aws.ecs.running_tasks_count
(gauge)
The number of tasks on the container instance that are in the RUNNING status.
Shown as task
aws.ecs.service.cpuutilization
(gauge)
Average percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.cpuutilization.maximum
(gauge)
Maximum percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.cpuutilization.minimum
(gauge)
Minimum percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.desired
(gauge)
The number of tasks in the cluster that are in the desired state
aws.ecs.service.memory_utilization
(gauge)
Average percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.memory_utilization.maximum
(gauge)
Maximum percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.memory_utilization.minimum
(gauge)
Minimum percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.pending
(gauge)
The number of tasks in the cluster that are in the pending state
Shown as task
aws.ecs.service.running
(gauge)
The number of tasks in the cluster that are in the running state
Shown as task
aws.ecs.services
(gauge)
The number of services running per cluster
ecs.containerinsights.container_instance_count
(count)
The number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.maximum
(count)
The maximum number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.minimum
(count)
The minimum number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.samplecount
(count)
A sample count of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.sum
(count)
The sum of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.cpu_reserved
(gauge)
The CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.maximum
(gauge)
The maximum CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.minimum
(gauge)
The minimum CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.samplecount
(gauge)
A sample count of CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.sum
(gauge)
The sum of CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized
(gauge)
The CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.maximum
(gauge)
The maximum CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.minimum
(gauge)
The minimum CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.samplecount
(gauge)
A sample count of CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.sum
(gauge)
The sum of CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.deployment_count
(count)
The number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.maximum
(count)
The maximum number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.minimum
(count)
The minimum number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.samplecount
(count)
A sample count of the deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.sum
(count)
The sum of deployments in an Amazon ECS service.
ecs.containerinsights.desired_task_count
(count)
The number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.maximum
(count)
The maximum number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.minimum
(count)
The minimum number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.samplecount
(count)
A sample count of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.sum
(count)
The sum of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.memory_reserved
(gauge)
The memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.maximum
(gauge)
The maximum memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.minimum
(gauge)
The minimum memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.samplecount
(gauge)
A sample count of memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.sum
(gauge)
The sum of memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized
(gauge)
The memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.maximum
(gauge)
The maximum memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.minimum
(gauge)
The minimum memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.samplecount
(gauge)
A sample count of memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.sum
(gauge)
The sum of memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.pending_task_count
(count)
The number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.maximum
(count)
The maximum number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.minimum
(count)
The minimum number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.samplecount
(count)
A sample count of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.sum
(count)
The sum of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.running_task_count
(count)
The number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.maximum
(count)
The maximum number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.minimum
(count)
The minimum number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.samplecount
(count)
A sample count of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.sum
(count)
The sum of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.service_count
(count)
The number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.maximum
(count)
The maximum number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.minimum
(count)
The minimum number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.samplecount
(count)
A sample count of services in the cluster.
Shown as service
ecs.containerinsights.service_count.sum
(count)
The sum of services in the cluster.
Shown as service
ecs.containerinsights.storage_read_bytes
(gauge)
The number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.maximum
(gauge)
The maximum number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.minimum
(gauge)
The minimum number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.samplecount
(gauge)
A sample count of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.sum
(gauge)
The sum of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes
(gauge)
The number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.maximum
(gauge)
The maximum number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.minimum
(gauge)
The minimum number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.samplecount
(gauge)
A sample count of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.sum
(gauge)
The sum of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.task_count
(count)
The number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.maximum
(count)
The maximum number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.minimum
(count)
The minimum number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.samplecount
(count)
A sample count of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.sum
(count)
The sum of tasks running in the service.
Shown as task
ecs.containerinsights.task_set_count
(count)
The number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.maximum
(count)
The maximum number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.minimum
(count)
The minimum number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.samplecount
(count)
A sample count of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.sum
(count)
The sum of task sets in the service.
Shown as task

AWS から取得される各メトリクスには、ホスト名やセキュリティ グループなど、AWS コンソールに表示されるのと同じタグが割り当てられます。

: ecs.containerinsights.* をプレフィックスに持つメトリクスは、AWS CloudWatch エージェントに基づいています。

イベント

ノイズを減らすため、AWS ECS とのインテグレーションには自動的にホワイトリストが適用され、特定の単語を含むイベントのみを収集します。具体的には、drainerrorfailinsufficient memorypendingrebootterminate が対象となり、次のようなイベント データを入手できます。

ホワイトリストを削除し、Datadog AWS ECS インテグレーションからすべてのイベントを取得できるようにするには、Datadog のサポートチームまでお問い合わせください。

サービスのチェック

  • aws.ecs.agent_connected: Agent が接続できない場合は CRITICAL、それ以外の場合は OK を返します。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。

その他の参考資料