Amazon ECS on AWS Fargate

Supported OS Linux Mac OS Windows

Integrationv3.1.1

概要

: このページでは、ECS Fargate インテグレーションについて説明します。EKS Fargate については、Datadog のEKS Fargate インテグレーションのドキュメントを参照してください。

ECS Fargate で実行されているすべてのコンテナからメトリクスを取得します。

  • CPU/メモリ使用量および制限のメトリクス
  • Datadog インテグレーションまたはカスタムメトリクスを使用して、Fargate で実行されているアプリケーションを監視

Datadog Agent は、ECS のタスクメタデータエンドポイントでタスク定義のコンテナのメトリクスを取得します。このエンドポイントに関する ECS のドキュメントには、以下のように記載されています。

このエンドポイントは、タスクに関連付けられたすべてのコンテナの Docker 統計 JSON を返します。返される統計の詳細については、Docker API ドキュメント内の ContainerStats を参照してください。

タスクメタデータエンドポイントは、タスク定義自体の内部からのみ使用できます。このため、Datadog Agent をタスク定義内の追加コンテナとして実行する必要があります。

このメトリクスの収集を有効にするために必要な構成は、タスク定義内で環境変数 ECS_FARGATE"true" にすることだけです。

セットアップ

以下の手順では、AWS ECS Fargate 内で Datadog Container Agent をセットアップします。: Fargate インテグレーションを最大限活用するには、Datadog Agent バージョン 6.1.1 以降が必要です。

Datadog Agent を持たないタスクも Cloudwatch でメトリクスを報告しますが、Autodiscovery、詳細なコンテナメトリクス、トレーシングなどの機能には Agent が必要です。さらに、Cloudwatch メトリクスは粒度が低く、Datadog Agent を通じて直接発送されるメトリクスより報告のレイテンシーが高くなります。

インストール

Datadog で ECS Fargate タスクを監視するには、アプリケーションと同じタスク定義内のコンテナとして Agent を実行します。Datadog でメトリクスを収集するには、各タスク定義にアプリケーションコンテナのほかに Datadog Agent コンテナを含める必要があります。以下のセットアップ手順を実行します。

  1. ECS Fargate タスクの作成
  2. IAM ポリシーの作成と修正
  3. レプリカサービスとしてのタスクの実行

ECS Fargate タスクの作成

Fargate の主要な作業単位はタスクで、これはタスク定義内で設定されます。タスク定義は、Kubernetes のポッドに相当します。タスク定義には 1 つ以上のコンテナが含まれる必要があります。Datadog Agent を実行するには、アプリケーションコンテナおよび Datadog Agent コンテナを実行するためのタスク定義を作成します。

以下の手順は、AWS CLI ツールまたは Amazon Web Console を使用したタスクの構成方法を示します。

Web UI
  1. AWS Web Console にログインし、ECS セクションに移動します。
  2. 左メニューの Task Definitions をクリックし、Create new Task Definition ボタンをクリックします。
  3. 起動タイプとして Fargate を選択し、Next step ボタンをクリックします。
  4. Task Definition Name にタスク定義名を入力します (my-app-and-datadog など)。
  5. タスク実行 IAM ロールを選択します。下の IAM ポリシーの作成と修正セクションで、権限の要件を確認します。
  6. ニーズに合わせて Task memoryTask CPU を選択します。
  7. Add container ボタンをクリックします。
  8. Container namedatadog-agent と入力します。
  9. Imagedatadog/agent:latest と入力します。
  10. Memory Limits に、ソフト制限として 256 を入力します。
  11. Advanced container configuration セクションまでスクロールし、CPU units10 と入力します。
  12. Env Variablesキー DD_API_KEY を追加し、Datadog API キーを値として入力します。シークレットを s3 に保存する場合は、ECS 構成ガイドを参照してください
  13. キー ECS_FARGATE と値 true を使用して、もう 1 つ環境変数を追加します。Add をクリックしてコンテナを追加します。
  14. Key DD_SITE と値 を使用して、別の環境変数を追加します。設定しない場合、これはデフォルトで datadoghq.com になります。
  15. (Windows のみ) 作業ディレクトリとして C:\ を選択します。
  16. アプリなどの他のコンテナを追加します。インテグレーションメトリクスの収集の詳細については、ECS Fargate のインテグレーションセットアップを参照してください。
  17. Create をクリックしてタスク定義を作成します。
AWS CLI
  1. datadog-agent-ecs-fargate をダウンロードします。: Internet Explorer をお使いの場合は、以下に記載の JSON ファイルを含む gzip ファイルとしてダウンロードされる場合があります。
  2. JSON を TASK_NAMEDatadog API キー、および適切な DD_SITE () で更新します。: 環境変数 ECS_FARGATE はすでに "true" に設定されています。
  3. アプリなどの他のコンテナを追加します。インテグレーションメトリクスの収集の詳細については、ECS Fargate のインテグレーションセットアップを参照してください。
  4. 次のコマンドを実行して ECS タスク定義を登録します。
aws ecs register-task-definition --cli-input-json file://<ファイルへのパス>/datadog-agent-ecs-fargate.json
AWS CloudFormation

AWS CloudFormation テンプレートを使用して Fargate コンテナを構成することができます。CloudFormation テンプレート内で AWS::ECS::TaskDefinition リソースを使用して Amazon ECS タスクを設定し、そのタスクで必要な起動タイプとして FARGATE を指定します。

例:

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: datadog-agent
          Image: 'public.ecr.aws/datadog/agent:latest'
          Cpu: 100
          Memory: 256MB

CloudFormation のテンプレートと統語法に関する詳細は、AWS CloudFormation ドキュメントをご参照ください。

IAM ポリシーの作成と修正

ECS Fargate のメトリクスを収集するには、次のアクセス許可を Datadog IAM ポリシーに追加します。詳細については、AWS ウェブサイト上の ECS ポリシーを参照してください。

AWS アクセス許可説明
ecs:ListClusters使用できるクラスターをリストします。
ecs:ListContainerInstancesクラスターのインスタンスをリストします。
ecs:DescribeContainerInstancesリソースおよび実行中のタスクに関するメトリクスを追加するためのインスタンスを記述します。

レプリカサービスとしてのタスクの実行

ECS Fargate では、タスクを Replica サービスとして実行するオプションしかありません。Datadog Agent は、アプリケーションやインテグレーションコンテナと同じタスク定義内で実行されます。

AWS CLI

AWS CLI ツールを使用して次のコマンドを実行します。

: Fargate バージョン 1.1.0 以降が必要です。したがって、以下のコマンドでは、プラットフォームバージョンを指定します。

必要に応じてクラスターを作成します。

aws ecs create-cluster --cluster-name "<クラスター名>"

クラスターのサービスとしてタスクを実行します。

aws ecs run-task --cluster <CLUSTER_NAME> \
--network-configuration "awsvpcConfiguration={subnets=["<PRIVATE_SUBNET>"],securityGroups=["<SECURITY_GROUP>"]}" \
--task-definition arn:aws:ecs:us-east-1:<AWS_ACCOUNT_NUMBER>:task-definition/<TASK_NAME>:1 \
--region <AWS_REGION> --launch-type FARGATE --platform-version 1.4.0
Web UI
  1. AWS Web Console にログインし、ECS セクションに移動します。必要に応じて、Networking only クラスターテンプレートを使用してクラスターを作成します。
  2. Datadog Agent を実行するクラスターを選択します。
  3. Services タブで、Create ボタンをクリックします。
  4. Launch type で、FARGATE を選択します。
  5. Task Definition で、先ほど作成したタスクを選択します。
  6. Service name に入力します。
  7. Number of tasks1 と入力し、Next step ボタンをクリックします。
  8. Cluster VPCSubnets、および Security Groups を選択します。
  9. Load balancingService discovery をオプションで設定します。
  10. Next step ボタンをクリックします。
  11. Auto Scaling は、オプションで設定します。
  12. Next step ボタンをクリックし、Create service ボタンをクリックします。

メトリクスの収集

上述のように Datadog Agent をセットアップすると、オートディスカバリーを有効にした状態で ecs_fargate チェックがメトリクスを収集します。その他のメトリクスを収集するには、同じタスク内の他のコンテナに Docker ラベルを追加します。

インテグレーションメトリクスの収集の詳細については、ECS Fargate のインテグレーションセットアップを参照してください。

DogStatsD

メトリクスは DogStatsD を使用して UDP ポート 8125 を介して収集されます。

他のコンテナからの DogStatsD パケットをリスニングすることによってカスタムメトリクスを送信するには、Datadog Agent コンテナ内の環境変数 DD_DOGSTATSD_NON_LOCAL_TRAFFICtrue に設定します。

その他の環境変数

Docker Agent コンテナと共に使用できる環境変数については、Docker Agent ページを参照してください。: 一部の変数は Fargate では使用できません。

環境変数説明
DD_DOCKER_LABELS_AS_TAGSdocker コンテナラベルを抽出します
DD_CONTAINER_LABELS_AS_TAGSコンテナラベルを抽出する
DD_DOCKER_ENV_AS_TAGSdocker コンテナー環境変数を抽出します
DD_CONTAINER_ENV_AS_TAGSコンテナ環境変数を抽出する
DD_KUBERNETES_POD_LABELS_AS_TAGSポッドラベルを抽出します
DD_CHECKS_TAG_CARDINALITYタグをチェックメトリクスに追加します
DD_DOGSTATSD_TAG_CARDINALITYタグをカスタムメトリクスに追加します

グローバルなタグ付けには、DD_CONTAINER_LABELS_AS_TAGS の使用をお勧めします。Agent は、この方法を使用して、コンテナラベルからタグを取得します。それには、他のコンテナに適切なラベルを追加する必要があります。ラベルは、タスク定義で直接追加できます。

Agent コンテナのフォーマット

{
  "name": "DD_CONTAINER_LABELS_AS_TAGS",
  "value": "{\"<LABEL_NAME_TO_COLLECT>\":\"<TAG_KEY_FOR_DATADOG>\"}"
}

Agent コンテナの例

{
  "name": "DD_CONTAINER_LABELS_AS_TAGS",
  "value": "{\"com.docker.compose.service\":\"service_name\"}"
}

CloudFormation 例 (YAML):

      ContainerDefinitions:
        - 
          Environment:
            - Name: DD_CONTAINER_LABELS_AS_TAGS
              Value: "{\"com.docker.compose.service\":\"service_name\"}"

: DD_HOSTNAME を使用しないでください。Fargate には、ユーザーに対するホストという概念がないからです。従来からホストタグを割り当てるために DD_TAGS が使用されていますが、Datadog Agent バージョン 6.13.0 では、環境変数を使用してインテグレーションメトリクスにグローバルタグを設定することもできます。

クローラーベースのメトリクス

Datadog Agent によって収集されるメトリクスのほかに、Datadog には CloudWatch ベースの ECS インテグレーションがあります。このインテグレーションは、Amazon ECS CloudWatch メトリクスを収集します。

そこに記載されているように、Fargate タスクも次のようにメトリクスを報告します。

使用できるメトリクスは、クラスター内のタスクとサービスの起動タイプによって異なります。サービスに Fargate 起動タイプを使用している場合は、サービスの監視に役立つように、CPU とメモリの使用率メトリクスが提供されます。

この方法は Datadog Agent を使用しないため、インテグレーションタイルで ECS をチェックすることで、AWS インテグレーションを構成する必要があります。これで、自動的に Datadog が CloudWatch メトリクス (Datadog 内の aws.ecs.* ネームスペースを使用) を取得します。ドキュメントの収集データセクションを参照してください。

必要なメトリクスがこれだけの場合は、このインテグレーションに依存して CloudWatch メトリクスを使用して収集できます。: CloudWatch データは粒度が低く (有効にした監視の種類に応じて 1-5 分)、Datadog への報告にも遅延があります。これは、Agent を使用して Datadog にデータをプッシュするのではなく、AWS の API 制限の範囲内で CloudWatch からデータを収集する必要があるためです。

Datadog のデフォルトの CloudWatch クローラーは、10 分ごとにメトリクスをポーリングします。クローリングスケジュールを速くする必要がある場合は、それが可能かどうかを Datadog のサポートチームにお問い合わせください。: CloudWatch の API 呼び出しは課金対象なので、AWS 側のコストが増大します。

ログの収集

Datadog の Fluentbit アウトプットプラグインに構築されている AWS FireLens インテグレーションを使用してログを Datadog に送信したり、awslogs ログドライバーと Lambda 関数を使用してログをルーティングしたりすることで、Fargate ログを監視できます。AWS FireLens を使用すると Fluent Bit を Fargate タスクで直接構成できるため、Datadog では AWS FireLens の使用をお勧めしています。

Fluent Bit と FireLens

Datadog の Fluent Bit アウトプットプラグインに組み込まれている AWS FireLens インテグレーションを構成して、監視している FireLens のログデータを Datadog ログと接続します。

  1. Fargate タスクの FireLens ログルーターコンテナで Fluent Bit を有効化します。FireLens の有効化については、専用の AWS Firelens ドキュメントを参照してください。Fargate コンテナの定義については、AWS コンテナ定義ドキュメントを参照してください。AWS では、リージョン別 Docker イメージの使用を推奨しています。下記に、Fluent Bit イメージが構成されたタスク定義の例を示します。

    {
      "essential": true,
      "image": "amazon/aws-for-fluent-bit:stable",
      "name": "log_router",
      "firelensConfiguration": {
        "type": "fluentbit",
        "options": { "enable-ecs-log-metadata": "true" }
      }
    }
    

    コンテナがシリアル化された JSON ログを stdout 上で公開している場合は、ログが Datadog 内で正しくパースされるよう、次の 追加 Firelens コンフィギュレーションを使用する必要があります。

    {
      "essential": true,
      "image": "amazon/aws-for-fluent-bit:stable",
      "name": "log_router",
      "firelensConfiguration": {
        "type": "fluentbit",
        "options": {
          "enable-ecs-log-metadata": "true",
          "config-file-type": "file",
          "config-file-value": "/fluent-bit/configs/parse-json.conf"
        }
      }
    }
    

    これにより、シリアル化された JSON が log: フィールドから上位レベルのフィールドに変換されます。詳細については、JSON がシリアル化されたコンテナの stdout ログをパースしている AWS サンプルを参照してください。

  2. 次に、同じ Fargate タスクで、AWS FireLens をログドライバーとして使用し、Fluent Bit にデータが出力されるようにログコンフィギュレーションを定義します。下記に、ログドライバーに FireLens が使用され、Fluent Bit にデータを出力しているタスク定義の例を示します。

{
  "logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
      "Name": "datadog",
      "apikey": "<DATADOG_API_KEY>",
      "Host": "http-intake.logs.datadoghq.com",
      "dd_service": "firelens-test",
      "dd_source": "redis",
      "dd_message_key": "log",
      "dd_tags": "project:fluentbit",
      "TLS": "on",
      "provider": "ecs"
    }
  }
}

{
  "logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
      "Name": "datadog",
      "apikey": "<DATADOG_API_KEY>",
      "Host": "http-intake.logs.us3.datadoghq.com",
      "dd_service": "firelens-test",
      "dd_source": "redis",
      "dd_message_key": "log",
      "dd_tags": "project:fluentbit",
      "TLS": "on",
      "provider": "ecs"
    }
  }
}

{
  "logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
      "Name": "datadog",
      "apikey": "<DATADOG_API_KEY>",
      "Host": "http-intake.logs.us5.datadoghq.com",
      "dd_service": "firelens-test",
      "dd_source": "redis",
      "dd_message_key": "log",
      "dd_tags": "project:fluentbit",
      "TLS": "on",
      "provider": "ecs"
    }
  }
}

{
  "logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
      "Name": "datadog",
      "apikey": "<DATADOG_API_KEY>",
      "Host": "http-intake.logs.datadoghq.eu",
      "dd_service": "firelens-test",
      "dd_source": "redis",
      "dd_message_key": "log",
      "dd_tags": "project:fluentbit",
      "TLS": "on",
      "provider": "ecs"
    }
  }
}

{
  "logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
      "Name": "datadog",
      "apikey": "<DATADOG_API_KEY>",
      "Host": "http-intake.logs.ddog-gov.datadoghq.com",
      "dd_service": "firelens-test",
      "dd_source": "redis",
      "dd_message_key": "log",
      "dd_tags": "project:fluentbit",
      "TLS": "on",
      "provider": "ecs"
    }
  }
}

: Datadog EU サイトのオーガニゼーションをご利用の場合は、代わりに Host オプションとして http-intake.logs.datadoghq.eu を使用してください。ご利用可能なパラメーターの全リストは Datadog Fluentbit ドキュメントに記載されています。

  1. Fargate タスクの実行中は常に、Fargate タスクが管理するコンテナの情報を監視しながら、Fluent Bit から Datadog にコンテナログが送信されるようになります。Log Explorer ページで生ログを確認したり、ログ用のモニターを作成Live Container ビューで確認したりすることが可能です。

AWS ログドライバー

awslogs ログドライバーと Lambda 関数を使用して Fargate ログを監視し、Datadog にルーティングします。

  1. タスクに Fargate AwsLogDriver を定義します。手順については、AWS Fargate 開発者ガイドを参照してください

  2. Fargate タスク定義は、ログ構成で awslogs ログドライバーのみをサポートします。これは、Fargate タスクがログ情報を Amazon CloudWatch Logs に送信するように構成します。次は、awslogs ログドライバーを構成するためのタスク定義のスニペットです。

    {
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/fargate-task-definition",
          "awslogs-region": "us-east-1",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
    

    タスク定義で awslogs ログドライバーを使用して、コンテナログを CloudWatch Logs に送信する方法については、awslogs ログドライバーを使用するを参照してください。このドライバーは、コンテナが生成したログを収集し、CloudWatch に直接送信します。

  3. 最後に、Lambda 関数を使用して CloudWatch からログを収集し、Datadog に送信します。

AWS CloudFormation

AWS CloudFormation のテンプレートを使用するには、AWS::ECS::TaskDefinition リソースを使用し、Datadog オプションを設定して、ログ管理を構成する必要があります。

例えば、Fluent Bit が Datadog にログを送信するように構成する場合

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: tomcat-test
          Image: 'tomcat:jdk8-adoptopenjdk-openj9'
          LogConfiguration:
            LogDriver: awsfirelens
            Options:
              Name: datadog
              Host: http-intake.logs.datadoghq.com
              TLS: 'on'
              dd_service: test-service
              dd_source: test-source
              provider: ecs
              apikey: <API_KEY>
          MemoryReservation: 500
        - Name: log_router
          Image: 'amazon/aws-for-fluent-bit:stable'
          Essential: true
          FirelensConfiguration:
            Type: fluentbit
            Options:
              enable-ecs-log-metadata: true
          MemoryReservation: 50

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: tomcat-test
          Image: 'tomcat:jdk8-adoptopenjdk-openj9'
          LogConfiguration:
            LogDriver: awsfirelens
            Options:
              Name: datadog
              Host: http-intake.logs.us3.datadoghq.com
              TLS: 'on'
              dd_service: test-service
              dd_source: test-source
              provider: ecs
              apikey: <API_KEY>
          MemoryReservation: 500
        - Name: log_router
          Image: 'amazon/aws-for-fluent-bit:stable'
          Essential: true
          FirelensConfiguration:
            Type: fluentbit
            Options:
              enable-ecs-log-metadata: true
          MemoryReservation: 50

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: tomcat-test
          Image: 'tomcat:jdk8-adoptopenjdk-openj9'
          LogConfiguration:
            LogDriver: awsfirelens
            Options:
              Name: datadog
              Host: http-intake.logs.us5.datadoghq.com
              TLS: 'on'
              dd_service: test-service
              dd_source: test-source
              provider: ecs
              apikey: <API_KEY>
          MemoryReservation: 500
        - Name: log_router
          Image: 'amazon/aws-for-fluent-bit:stable'
          Essential: true
          FirelensConfiguration:
            Type: fluentbit
            Options:
              enable-ecs-log-metadata: true
          MemoryReservation: 50

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: tomcat-test
          Image: 'tomcat:jdk8-adoptopenjdk-openj9'
          LogConfiguration:
            LogDriver: awsfirelens
            Options:
              Name: datadog
              Host: http-intake.logs.datadoghq.eu
              TLS: 'on'
              dd_service: test-service
              dd_source: test-source
              provider: ecs
              apikey: <API_KEY>
          MemoryReservation: 500
        - Name: log_router
          Image: 'amazon/aws-for-fluent-bit:stable'
          Essential: true
          FirelensConfiguration:
            Type: fluentbit
            Options:
              enable-ecs-log-metadata: true
          MemoryReservation: 50

Resources:
  ECSTDNJH3:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      NetworkMode: awsvpc
      RequiresCompatibilities:
          - FARGATE
      Cpu: 256
      Memory: 1GB
      ContainerDefinitions:
        - Name: tomcat-test
          Image: 'tomcat:jdk8-adoptopenjdk-openj9'
          LogConfiguration:
            LogDriver: awsfirelens
            Options:
              Name: datadog
              Host: http-intake.logs.ddog-gov.datadoghq.com
              TLS: 'on'
              dd_service: test-service
              dd_source: test-source
              provider: ecs
              apikey: <API_KEY>
          MemoryReservation: 500
        - Name: log_router
          Image: 'amazon/aws-for-fluent-bit:stable'
          Essential: true
          FirelensConfiguration:
            Type: fluentbit
            Options:
              enable-ecs-log-metadata: true
          MemoryReservation: 50

: プレーンテキストで apikey を公開しないようにするには、TaskDefinition シークレットを使用します。

CloudFormation のテンプレートと統語法に関する詳細は、AWS CloudFormation ドキュメントをご参照ください。

トレースの収集

  1. 上の手順に従ってタスク定義に Datadog Agent コンテナを追加し、追加の環境変数 DD_APM_ENABLEDtrue に設定し、ポートマッピングでホストポート(8126tcp プロトコルを使用)を設定します。DD_SITE 変数を に設定します。設定しない場合、デフォルトで datadoghq.com になります。

  2. 現在のセットアップに基づいてアプリケーションをインスツルメントします

  3. アプリケーションが Datadog Agent コンテナと同じタスク定義内で実行されていることを確認します。

すぐに使えるタグ

Agent は、タグを自動検出して、タスク全体またはこのタスク内の個別のコンテナにより送信されたすべてのデータにアタッチします。自動的にアタッチされるタグのリストは、Agent のカーディナリティコンフィギュレーションに基づきます。

タグカーディナリティソース
container_nameECS API
container_idECS API
docker_imageECS API
image_nameECS API
short_imageECS API
image_tagECS API
ecs_cluster_nameECS API
ecs_container_nameECS API
task_arnオーケストレーターECS API
task_familyECS API
task_nameECS API
task_versionECS API
availability_zoneECS API
regionECS API

収集データ

メトリクス

ecs.fargate.io.ops.write
(rate)
# write operations to the disk (Linux only)
ecs.fargate.io.bytes.write
(rate)
# bytes written to the disk (Linux only)
Shown as byte
ecs.fargate.io.ops.read
(rate)
# read operation on the disk (Linux only)
ecs.fargate.io.bytes.read
(rate)
# bytes read on the disk (Linux only)
Shown as byte
ecs.fargate.cpu.user
(rate)
User CPU time
Shown as nanosecond
ecs.fargate.cpu.system
(rate)
System CPU time
Shown as nanosecond
ecs.fargate.cpu.usage
(rate)
Total CPU Usage
Shown as nanosecond
ecs.fargate.cpu.limit
(gauge)
Limit in percent of the CPU usage
Shown as percent
ecs.fargate.cpu.percent
(gauge)
Percentage of CPU used per container (Linux only)
Shown as percent
ecs.fargate.mem.cache
(gauge)
# of bytes of page cache memory (Linux only)
Shown as byte
ecs.fargate.mem.active_file
(gauge)
# of bytes of file-backed memory on active LRU list (Linux only)
Shown as byte
ecs.fargate.mem.inactive_file
(gauge)
# of bytes of file-backed memory on inactive LRU list (Linux only)
Shown as byte
ecs.fargate.mem.limit
(gauge)
# of bytes memory limit (Linux only)
Shown as byte
ecs.fargate.mem.active_anon
(gauge)
# of bytes of anonymous and swap cache memory on active LRU list (Linux only)
Shown as byte
ecs.fargate.mem.usage
(gauge)
# of bytes of memory used
Shown as byte
ecs.fargate.mem.rss
(gauge)
# of bytes of anonymous and swap cache memory (includes transparent hugepages) (Linux only)
Shown as byte
ecs.fargate.mem.pgpgout
(rate)
# of uncharging events to the memory cgroup. The uncharging event happens each time a page is unaccounted from the cgroup (Linux only)
ecs.fargate.mem.pgpgin
(rate)
# of charging events to the memory cgroup. The charging event happens each time a page is accounted as either mapped anon page(RSS) or cache page(Page Cache) to the cgroup. (Linux only)
ecs.fargate.mem.pgfault
(rate)
# of page faults per second (Linux only)
ecs.fargate.mem.pgmajfault
(rate)
# of major page faults per second (Linux only)
ecs.fargate.mem.mapped_file
(gauge)
# of bytes of mapped file (includes tmpfs/shmem) (Linux only)
Shown as byte
ecs.fargate.mem.max_usage
(gauge)
Show max memory usage recorded
Shown as byte
ecs.fargate.mem.hierarchical_memory_limit
(gauge)
# of bytes of memory limit with regard to hierarchy under which the memory cgroup is (Linux only)
Shown as byte
ecs.fargate.mem.hierarchical_memsw_limit
(gauge)
# of bytes of memory+swap limit with regard to hierarchy under which memory cgroup is (Linux only)
Shown as byte
ecs.fargate.net.rcvd_errors
(gauge)
# received errors (Fargate 1.4.0+ required)
Shown as error
ecs.fargate.net.sent_errors
(gauge)
# sent errors (Fargate 1.4.0+ required)
Shown as error
ecs.fargate.net.packet.in_dropped
(gauge)
# ingoing packets dropped (Fargate 1.4.0+ required)
Shown as packet
ecs.fargate.net.packet.out_dropped
(gauge)
# outgoing packets dropped (Fargate 1.4.0+ required)
Shown as packet
ecs.fargate.net.bytes_rcvd
(rate)
# bytes received (Fargate 1.4.0+ required)
Shown as byte
ecs.fargate.net.bytes_sent
(rate)
# bytes sent (Fargate 1.4.0+ required)
Shown as byte
 また、どれが Linux 専用なのかも明記されています。

イベント

ECS Fargate チェックには、イベントは含まれません。

サービスのチェック

ecs_fargate.can_connect
Returns CRITICAL if the Agent is unable to connect to Fargate, otherwise returns OK.
Statuses: ok, critical

トラブルシューティング

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

その他の参考資料