AWS App Mesh

AWS App Mesh

Agent Check Check de l'Agent

Supported OS Linux Mac OS Windows

Présentation

AWS App Mesh est un maillage de services qui facilite la surveillance des communications entre les applications de micro-services s’exécutant sur des clusters AWS ECS Fargate ou AWS EKS.

Implémentation

Utilisez les instructions suivantes pour activer la collecte de métrique pour le sidecar proxy AWS App Mesh, à savoir Envoy. Vous pouvez ajouter des sidecars avec l’une des trois méthodes suivantes : avec un déploiement, via la correction ultérieure d’un déploiement ou avec le contrôleur d’injecteur AWS App Mesh. Les étapes suivantes vous permettent d’appliquer ces trois méthodes.

Collecte de métriques

Prérequis : déployez les Agents Datadog en tant que DaemonSet dans votre cluster Kubernetes à l’aide de la documentation relative à l'intégration EKS.

  1. Créez une ConfigMap dans votre cluster pour découvrir automatiquement les sidecars Envoy de App Mesh ajoutés à chaque pod :

      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. Modifiez l’objet volumeMounts dans le fichier YAML DaemonSet de votre Agent Datadog :

          volumeMounts:
           - name: datadog-config
             mountPath: /conf.d
    
  3. Modifiez l’objet volumes dans le fichier YAML DaemonSet de votre Agent Datadog :

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

Collecte de logs

Pour activer la collecte de logs, mettez à jour le DaemonSet de l’Agent en suivant les instructions relatives à la collecte de logs Kubernetes.

Collecte de traces

Sélectionnez l’espace de nommage pour déployer datadog-agent et le service, par exemple : monitoring. Utilisez-le dans l’option avec laquelle déployer l’injecteur appmesh :

```shell
  helm upgrade -i appmesh-inject eks/appmesh-inject \
  --namespace appmesh-system \
  --set tracing.enabled=true \
  --set tracing.provider=datadog \
  --set tracing.address=datadog.monitoring \
  --set tracing.port=8126
```

Vous pouvez également déployer l’injecteur appmesh en suivant les instructions dans la documentation relative à App Mesh avec EKS et en utilisant l’option enable-datadog-tracing=true ou la variable d’environnement ENABLE_DATADOG_TRACING=true.

Collecte de métriques

Prérequis : ajoutez des Agents Datadog à chacune de vos définitions de tâche Fargate en prenant soin d’activer App Mesh (p. ex., un sidecar Envoy injecté). Pour ce faire, consultez la documentation relative à l'intégration ECS Fargate.

  1. Pour envoyer des métriques à Datadog depuis une tâche ECS avec App Mesh, suivez le modèle AWS App Mesh suggéré. Cette approche crée un service externe sous la forme d’un nœud virtuel afin d’acheminer le trafic sortant.

    • Dans la console App Mesh, accédez à votre maillage.

    • Créez un nœud virtuel avec les caractéristiques suivantes :

      Paramètre Valeur
      Virtual node name datadog
      Service discovery type DNS
      Hostname app.datadoghq.com ou app.datadoghq.eu
      Listener port 443
      Listener protocol tcp
    • Créez un service virtuel avec les caractéristiques suivantes :

      Paramètre Valeur
      Virtual service name app.datadoghq.com ou app.datadoghq.eu
      Provider Virtual node
      Virtual node datadog
  2. Modifiez toutes les définitions de tâche contenant le sidecar Envoy et l’Agent Datadog avec les étiquettes Docker suivantes. Pour en savoir plus, consultez la section Configuration d’intégration pour ECS Fargate.

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

Collecte de logs

Activez la collecte de logs en suivant les instructions détaillées dans la documentation relative à l’intégration ECS Fargate.

Collecte de traces

  1. Activez la collecte de traces en suivant les instructions détaillées dans la documentation relative à l’intégration ECS Fargate.

Définissez les paramètres AWS App Mesh ENABLE_ENVOY_DATADOG_TRACING et DATADOG_TRACER_PORT en tant que variables d’environnement dans la définition de la tâche ECS Fargate. Pour en savoir plus, consultez la documentation AWS App Mesh.

Collecte de métriques

Prérequis : ajoutez des Agents Datadog à chacune de vos définitions de tâche ECS EC2 en prenant soin d’activer App Mesh (p. ex., un sidecar Envoy injecté). Pour ce faire, consultez la documentation relative à l'intégration ECS.

  1. Pour envoyer des métriques à Datadog depuis une tâche ECS avec App Mesh, suivez le modèle AWS App Mesh suggéré. Cette approche crée un service externe sous la forme d’un nœud virtuel afin d’acheminer le trafic sortant.

    • Dans la console App Mesh, accédez à votre maillage.

    • Créez un nœud virtuel avec les caractéristiques suivantes :

      Paramètre Valeur
      Virtual node name datadog
      Service discovery type DNS
      Hostname app.datadoghq.com ou app.datadoghq.eu
      Listener port 443
      Listener protocol tcp
    • Créez un service virtuel avec les caractéristiques suivantes :

      Paramètre Valeur
      Virtual service name app.datadoghq.com ou app.datadoghq.eu
      Provider Virtual node
      Virtual node datadog
  2. Modifiez toutes les définitions de tâche contenant le sidecar Envoy et l’Agent Datadog avec les étiquettes Docker suivantes. Pour en savoir plus, consultez la section Configuration d’intégration pour ECS Fargate.

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

Collecte de logs

Activez la collecte de logs en suivant les instructions détaillées dans la documentation relative à l’intégration ECS.

Collecte de traces

  1. Activez la collecte de traces en suivant les instructions détaillées dans la documentation relative à l’intégration ECS.

  2. Définissez les paramètres AWS App Mesh ENABLE_ENVOY_DATADOG_TRACING et DATADOG_TRACER_PORT en tant que variables d’environnement dans la définition de la tâche ECS. Pour en savoir plus, consultez la documentation AWS App Mesh.

Données collectées

Métriques

Pour obtenir la liste des métriques, consultez la documentation sur l'intégration Envoy.

Événements

L’intégration AWS App Mesh n’inclut aucun événement.

Checks de service

L’intégration AWS App Mesh n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles: