AWS App Mesh
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

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ètreValeur
      Virtual node namedatadog
      Service discovery typeDNS
      Hostnameapp.datadoghq.com ou app.datadoghq.eu
      Listener port443
      Listener protocoltcp
    • Créez un service virtuel avec les caractéristiques suivantes :

      ParamètreValeur
      Virtual service nameapp.datadoghq.com ou app.datadoghq.eu
      ProviderVirtual node
      Virtual nodedatadog
  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

Les traces APM ne sont pas disponibles pour App Mesh. Contactez l’assistance Datadog pour en savoir plus.

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ètreValeur
      Virtual node namedatadog
      Service discovery typeDNS
      Hostnameapp.datadoghq.com ou app.datadoghq.eu
      Listener port443
      Listener protocoltcp
    • Créez un service virtuel avec les caractéristiques suivantes :

      ParamètreValeur
      Virtual service nameapp.datadoghq.com ou app.datadoghq.eu
      ProviderVirtual node
      Virtual nodedatadog
  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

Les traces APM ne sont pas disponibles pour App Mesh. Contactez l’assistance Datadog pour en savoir plus.

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: