Skip to content

Commit

Permalink
Add documentation for Datadog tracing support for proxy
Browse files Browse the repository at this point in the history
Signed-off-by: Hartigan <hartigans@live.com>
  • Loading branch information
Hartigan committed Oct 18, 2024
1 parent afe3895 commit 5539060
Showing 1 changed file with 61 additions and 1 deletion.
62 changes: 61 additions & 1 deletion site/content/en/latest/tasks/observability/proxy-trace.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ TEMPO_IP=$(kubectl get svc tempo -n monitoring -o jsonpath='{.status.loadBalance

By default, Envoy Gateway doesn't send traces to any sink.
You can enable traces by setting the `telemetry.tracing` in the [EnvoyProxy][envoy-proxy-crd] CRD.
Currently, Envoy Gateway support OpenTelemetry and [Zipkin](../../api/extension_types#zipkintracingprovider) tracer.
Currently, Envoy Gateway support OpenTelemetry, [Zipkin](../../api/extension_types#zipkintracingprovider) and Datadog tracer.

### Tracing Provider

Expand Down Expand Up @@ -155,6 +155,66 @@ Verify zipkin traces from tempo:
curl -s "http://$TEMPO_IP:3100/api/search?tags=component%3Dproxy+provider%3Dzipkin" | jq .traces
```

{{% /tab %}}
{{% tab header="Datadog" %}}

```shell
kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: eg
spec:
controllerName: gateway.envoyproxy.io/gatewayclass-controller
parametersRef:
group: gateway.envoyproxy.io
kind: EnvoyProxy
name: datadog
namespace: envoy-gateway-system
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
name: datadog
namespace: envoy-gateway-system
spec:
telemetry:
tracing:
# sample 100% of requests
samplingRate: 100
provider:
backendRefs:
- name: datadog-agent
namespace: monitoring
port: 8126
type: Datadog
customTags:
# This is an example of using a literal as a tag value
provider:
type: Literal
literal:
value: "datadog"
"k8s.pod.name":
type: Environment
environment:
name: ENVOY_POD_NAME
defaultValue: "-"
"k8s.namespace.name":
type: Environment
environment:
name: ENVOY_GATEWAY_NAMESPACE
defaultValue: "envoy-gateway-system"
# This is an example of using a header value as a tag value
header1:
type: RequestHeader
requestHeader:
name: X-Header-1
defaultValue: "-"
EOF
```

Verify Datadog traces in [Datadog APM](https://docs.datadoghq.com/tracing/)

{{% /tab %}}
{{< /tabpane >}}

Expand Down

0 comments on commit 5539060

Please sign in to comment.