AWS App Mesh

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 Amazon ECS Fargate ou AWS EKS.

Formule et utilisation

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. En raison des limites imposées par App Mesh, pour transmettre des métriques depuis EKS vers Datadog, vous devez définir le filtre Egress sur Allow External Traffic.

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

          volumeMounts:
           - name: datadog-config
             mountPath: /conf.d
    
  4. 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
    

APM

La collecte de logs n’est plus prise en charge pour ce site.

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-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
```

Vous pouvez également déployer l’injecteur appmesh en suivant les instructions de la section App Mesh avec EKS (en anglais) 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 pour lesquelles App Mesh est activé (comme un sidecar Envoy injecté). Pour ce faire, consultez la documentation relative à l’intégration ECS Fargate.

  1. En raison des limites imposées par App Mesh, pour transmettre des métriques depuis une tâche ECS vers Datadog, vous devez définir le filtre Egress sur Allow External Traffic.

  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 : [{}]
            },
    

APM

La collecte de logs n’est plus prise en charge pour ce site.

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 pour lesquelles App Mesh est activé (comme un sidecar Envoy injecté). Pour ce faire, consultez la documentation relative à l’intégration ECS.

  1. En raison des limites imposées par App Mesh, pour transmettre des métriques depuis une tâche ECS vers Datadog, vous devez définir le filtre Egress sur Allow External Traffic.

  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 : [{}]
            },
    

APM

La collecte de logs n’est plus prise en charge pour ce site.

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.

Real User Monitoring

Analyse d’entonnoirs

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

Aide

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

Aide

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

Aide

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles:

PREVIEWING: brett0000FF/node-compatibility