AWS App Mesh

AWS App Mesh

Agent Check Agentチェック

Linux Mac OS Windows OS Supported

概要

AWS App Mesh は、AWS ECS Fargate クラスターや AWS EKS クラスターで実行するマイクロサービスにアプリケーションレベルのネットワーキングを提供するサービスメッシュです。

セットアップ

下記の指示に従って、Envoy と呼ばれる AWS App Mesh のサイドカープロキシのメトリクスの収集を有効にします。デプロイ、後でデプロイをパッチ、AWS App Mesh インジェクターコントローラーを使用、のいずれかの方法を選択してサイドカーを追加します。どの方法を選択しても、下記のステップで実行できます。

メトリクスの収集

前提条件: EKS インテグレーションドキュメントを参考にして、Datadog Agent を Kubernetes クラスターで DaemonSet としてデプロイします。

  1. クラスターで ConfigMap を作成し、各ポッドに追加されている App Mesh の Envoy サイドカーを自動的に検出します。

      apiVersion: v1
      kind: ConfigMap
      metadata:
      name: datadog-config
      data:
      envoy: |-
        ad_identifiers:
        - aws-appmesh-envoy
        init_config:
        instances:
        - stats_url: http://%%host%%:9901/stats
          tags:
            - <TAG_KEY>:<TAG_VALUE>  # Example - cluster:eks-appmesh    
    
  2. Datadog Agent の DaemonSet YAML ファイルで volumeMounts オブジェクトをアップデートします。

          volumeMounts:
           - name: datadog-config
             mountPath: /conf.d
    
  3. Datadog Agent の DaemonSet YAML ファイルで volumes オブジェクトをアップデートします。

         volumes:
          - name: datadog-config
            configMap:
              name: datadog-config
              items:
              - key: envoy
                path: envoy.yaml
    

ログの収集

ログの収集を有効にするには、Kubernetes ログ収集の説明に従って Agent の DaemonSet をアップデートします。

トレースの収集

namespace を選択して、datadog-agent とサービス (例: monitoring) をデプロイします。オプションでこれを使用し、以下のように appmesh-injector をデプロイします。

```shell
  helm upgrade -i appmesh-controller eks/appmesh-controller \
  --namespace appmesh-system \
  --set sidecar.logLevel=debug \
  --set tracing.enabled=true \
  --set tracing.provider=datadog \
  --set tracing.address=ref:status.hostIP \
  --set tracing.port=8126
```

または、EKS を使用した App Meshドキュメントの説明に従って、オプションの enable-datadog-tracing=true や環境変数の ENABLE_DATADOG_TRACING=true を使用して appmesh インジェクターをデプロイすることもできます。

メトリクスの収集

前提条件: ECS Fargate インテグレーションドキュメントを参考にして、有効化された App Mesh (すなわち Envoy サイドカーがインジェクト済み) により Datadog Agent を各 Fargate タスク定義に追加します。

  1. App Mesh を使用してメトリクスを ECS タスクから Datadog に転送するには、AWS App Mesh の提案モデルに従います。このモデルでは、外部サービスをアウトバウンドトラフィックをルーティングする仮想ノードとして作成しています。

    • App Mesh コンソールでメッシュを確認します。

    • 次のパラメーターと値を使用して仮想ノードを作成します。

      パラメーター
      仮想ノード名datadog
      サービス検出タイプDNS
      ホスト名app.datadoghq.com または app.datadoghq.eu
      リスナーポート443
      リスナープロトコルtcp
    • 次のパラメーターと値を使用して仮想サービスを作成します。

      パラメーター
      仮想サービス名app.datadoghq.com または app.datadoghq.eu
      プロバイダーVirtual node
      仮想ノードdatadog
  2. 下記の Docker ラベルを使用して、Envoy サイドカーと Datadog Agent を含むタスク定義をアップデートします。詳細については、ECS Fargate インテグレーションのセットアップをご参照ください。

        "dockerLabels": {
              com.datadoghq.ad.instances : [{"stats_url": "http://%%host%%:9901/stats"}]
              com.datadoghq.ad.check_names : ["envoy"]
              com.datadoghq.ad.init_configs : [{}]
            },
    

ログの収集

ECS Fargate インテグレーションドキュメントの説明に従って、ログの収集を有効化します。

トレースの収集

  1. ECS Fargate インテグレーションドキュメントの説明に従って、トレースの収集を有効化します。

AWS App Mesh パラメーター ENABLE_ENVOY_DATADOG_TRACING および DATADOG_TRACER_PORT を ECS Fargate タスク定義の環境変数として設定します。詳細は AWS App Mesh ドキュメントを参照してください。

メトリクスの収集

前提条件: ECS インテグレーションドキュメントを参考にして、有効化された App Mesh (すなわち Envoy サイドカーがインジェクト済み) により、Datadog Agent を各 ECS EC2 タスク定義に追加します。

  1. App Mesh を使用してメトリクスを ECS タスクから Datadog に転送するには、AWS App Mesh の提案モデルに従います。このモデルでは、外部サービスをアウトバウンドトラフィックをルーティングする仮想ノードとして作成しています。

    • App Mesh コンソールでメッシュを確認します。

    • 次のパラメーターと値を使用して仮想ノードを作成します。

      パラメーター
      仮想ノード名datadog
      サービス検出タイプDNS
      ホスト名app.datadoghq.com または app.datadoghq.eu
      リスナーポート443
      リスナープロトコルtcp
    • 次のパラメーターと値を使用して仮想サービスを作成します。

      パラメーター
      仮想サービス名app.datadoghq.com または app.datadoghq.eu
      プロバイダーVirtual node
      仮想ノードdatadog
  2. 下記の Docker ラベルを使用して、Envoy サイドカーと Datadog Agent を含むタスク定義をアップデートします。詳細については、ECS Fargate インテグレーションのセットアップをご参照ください。

        "dockerLabels": {
              com.datadoghq.ad.instances : [{"stats_url": "http://%%host%%:9901/stats"}]
              com.datadoghq.ad.check_names : ["envoy"]
              com.datadoghq.ad.init_configs : [{}]
            },
    

ログの収集

ECS インテグレーションドキュメントの説明に従って、ログの収集を有効化します。

トレースの収集

  1. ECS インテグレーションドキュメントの説明に従って、トレースの収集を有効化します。

  2. AWS App Mesh パラメーター ENABLE_ENVOY_DATADOG_TRACING および DATADOG_TRACER_PORT を ECS タスク定義の環境変数として設定します。詳細は AWS App Mesh ドキュメントを参照してください。

収集データ

メトリクス

メトリクス一覧については、Envoy インテグレーションをご参照ください。

イベント

AWS App Mesh インテグレーションには、イベントは含まれません。

サービスのチェック

AWS App Mesh インテグレーションには、サービスチェック機能は含まれません。

トラブルシューティング

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

その他の参考資料

お役に立つドキュメント、リンクや記事: