AppMesh Tracing Guide¶
AppMesh controller supports integration with multiple tracing solutions for data plane.
AWS X-Ray¶
-
Enable X-Ray tracing for the App Mesh data plane
The above configuration will inject the AWS X-Ray daemon sidecar in each pod scheduled to run on the mesh.helm upgrade -i appmesh-controller eks/appmesh-controller \ --namespace appmesh-system \ --set tracing.enabled=true \ --set tracing.provider=x-ray
You can optionally use a specific X-Ray image by setting the following flags in addition to the above:
--set xray.image.repository=public.ecr.aws/xray/aws-xray-daemon \ --set xray.image.tag=3.3.3
Note: You should restart all pods running inside the mesh after enabling tracing.
Datadog tracing¶
- Install the Datadog agent in the
appmesh-system
namespace - Enable Datadog Tracing for the App Mesh data plane
helm upgrade -i appmesh-controller eks/appmesh-controller \ --namespace appmesh-system \ --set tracing.enabled=true \ --set tracing.provider=datadog \ --set tracing.address=datadog.appmesh-system \ --set tracing.port=8126
Note: You should restart all pods running inside the mesh after enabling tracing.
Jaeger tracing¶
Follow instructions in appmesh-jaeger helm chart.
Tips¶
Tracing agents running as DaemonSets¶
For Jaeger and Datadog, running tracing agents as DaemonSets will need the tracing.address
set to status.hostIP
to use the node's IP.
To do this, use the flag below
--set tracing.address=ref:status.hostIP