For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
OTel Collector
Configure agentgateway to send traces to a standalone OpenTelemetry Collector.
An OpenTelemetry Collector is a vendor-neutral component that receives, processes, and exports telemetry data to one or more backends, such as Jaeger, Tempo, or Datadog. The following steps show you how to install a standalone OTel Collector in your cluster and configure agentgateway to send traces to it.
Tip
If you already have the OTel stack installed, an OTel Collector is already running in the telemetry namespace. You do not need to install another one.
Before you begin
- Set up an agentgateway proxy.
- Install the httpbin sample app.
Install the OTel Collector
Add the OpenTelemetry Helm repository and install the collector.
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm repo update helm install opentelemetry-collector open-telemetry/opentelemetry-collector \ --namespace tracing \ --create-namespace \ --set mode=deployment \ --set image.repository=otel/opentelemetry-collector-contrib \ --set config.exporters.debug.verbosity=detailedVerify the collector pod is running.
kubectl get pods -n tracingExample output:
NAME READY STATUS RESTARTS AGE opentelemetry-collector-6b9d7c5d65-q2r9k 1/1 Running 0 34s
Configure tracing
Create an AgentgatewayPolicy that points the agentgateway proxy at the collector.
kubectl apply -f- <<EOF
apiVersion: agentgateway.dev/v1alpha1
kind: AgentgatewayPolicy
metadata:
name: tracing
namespace: agentgateway-system
spec:
targetRefs:
- kind: Gateway
name: agentgateway-proxy
group: gateway.networking.k8s.io
frontend:
tracing:
backendRef:
name: opentelemetry-collector
namespace: tracing
port: 4317
protocol: GRPC
randomSampling: "true"
EOFVerify traces
Send a request to the httpbin app.
curl -vi -X POST http://$INGRESS_GW_ADDRESS:80/post \ -H "host: www.example.com"Check the collector logs for the trace.
kubectl logs -n tracing deploy/opentelemetry-collector | grep -A 5 "agentgateway"
Cleanup
You can remove the resources that you created in this guide.Delete the AgentgatewayPolicy resource.
kubectl delete AgentgatewayPolicy tracing -n agentgateway-systemUninstall the OTel Collector.
helm uninstall opentelemetry-collector -n tracing kubectl delete namespace tracing