Use the instructions below to enable metric collection for the AWS App Mesh proxy sidecar, called Envoy. Users can choose to add sidecars in one of three modes: deploying, patching the deployment later, or using the AWS App Mesh injector controller. All modes are supported by the following steps.
Metric collection
Prerequisite: Deploy Datadog Agents as a DaemonSet in your Kubernetes cluster using the EKS integration documentation.
Due to limitations in App Mesh, forwarding metrics from EKS to Datadog requires the Egress filter to be set to Allow External Traffic
.
Create a ConfigMap in your cluster to automatically discover App Mesh’s Envoy side cars that are added to each 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
Update the volumeMounts
object in your Datadog Agent’s DaemonSet YAML file:
volumeMounts:
- name: datadog-config
mountPath: /conf.d
Update the volumes
object in your Datadog Agent’s DaemonSet YAML file:
volumes:
- name: datadog-config
configMap:
name: datadog-config
items:
- key: envoy
path: envoy.yaml
Log collection
Log collection is not supported for this site.
Trace collection
Select the namespace to deploy the datadog-agent
and service, for example: monitoring
. Use this in the option to deploy the appmesh-injector with:
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
Alternatively, the appmesh injector can be deployed by following the App Mesh with EKS documentation using the option enable-datadog-tracing=true
or environment variable ENABLE_DATADOG_TRACING=true
.
Metric collection
Prerequisite: Add Datadog Agents to each of your Fargate task definitions with App Mesh enabled, such as an Envoy sidecar injected, using the ECS Fargate integration documentation.
Due to limitations in App Mesh, forwarding metrics from an ECS task to Datadog requires the Egress filter to be set to Allow External Traffic
.
Update all task definitions containing the Envoy sidecar and Datadog Agent with the following Docker labels. See Integration Setup for ECS Fargate for details.
"dockerLabels": {
com.datadoghq.ad.instances : [{"stats_url": "http://%%host%%:9901/stats"}]
com.datadoghq.ad.check_names : ["envoy"]
com.datadoghq.ad.init_configs : [{}]
},
Log collection
Log collection is not supported for this site.
Trace collection
- Enable trace collection with the instructions in the ECS Fargate integration documentation.
Set the AWS App Mesh parameters ENABLE_ENVOY_DATADOG_TRACING
and DATADOG_TRACER_PORT
as environment variables in the ECS Fargate task definition. Learn more in the AWS App Mesh documentation.
Metric collection
Prerequisite: Add Datadog Agents to each of your ECS EC2 task definitions with App Mesh enabled, such as an Envoy sidecar injected, using the ECS integration documentation.
Due to limitations in App Mesh, forwarding metrics from an ECS task to Datadog requires the Egress filter to be set to Allow External Traffic
.
Update all task definitions containing the Envoy sidecar and Datadog Agent with the following Docker labels. See Integration Setup for ECS Fargate for details.
"dockerLabels": {
com.datadoghq.ad.instances : [{"stats_url": "http://%%host%%:9901/stats"}]
com.datadoghq.ad.check_names : ["envoy"]
com.datadoghq.ad.init_configs : [{}]
},
Log collection
Log collection is not supported for this site.
Trace collection
Enable trace collection with the instructions in the ECS integration documentation.
Set the AWS App Mesh parameters ENABLE_ENVOY_DATADOG_TRACING
and DATADOG_TRACER_PORT
as environment variables in the ECS task definition. Learn more in the AWS App Mesh documentation.