From c198311e069abf326990c0a15160e0fb3f3da79e Mon Sep 17 00:00:00 2001 From: krisztianfekete Date: Thu, 10 Sep 2026 19:59:09 +0200 Subject: [PATCH] feat(chart): export the agentgateway access log over otlp --- charts/substrate/README.md | 2 +- charts/substrate/templates/atenet-router.yaml | 7 +++++++ manifests/ate-install/kind/otel-collector.yaml | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/charts/substrate/README.md b/charts/substrate/README.md index 0640c9e9a7..d63cbf74e8 100644 --- a/charts/substrate/README.md +++ b/charts/substrate/README.md @@ -42,4 +42,4 @@ See `values.yaml` for the full set; the important keys: | `rustfs.enabled` | `true` | Deploy an in-cluster S3-compatible RustFS bucket for snapshots | | `atelet.storageBackend` | `s3` | Default snapshot backend, wired to RustFS when `rustfs.enabled=true` | | `atelet.gcpAuthForImagePulls` | `false` | Enable only when using GCP registry auth | -| `otel.endpoint` | `""` | Set to an OTLP endpoint to export traces/metrics | +| `otel.endpoint` | `""` | Set to an OTLP endpoint to export traces, metrics and the router access log | diff --git a/charts/substrate/templates/atenet-router.yaml b/charts/substrate/templates/atenet-router.yaml index 78976a39a6..75f8e43a0e 100644 --- a/charts/substrate/templates/atenet-router.yaml +++ b/charts/substrate/templates/atenet-router.yaml @@ -42,6 +42,13 @@ data: host: $AGENTGATEWAY_OTLP_ADDRESS protocol: grpc randomSampling: 0.01 + # Unsampled per-request access log. It carries the ate.* actor + # attribution, which the 1%-sampled traces cannot be aggregated on. + # `fields` stays unset so the OTLP sink inherits the full field set. + accessLog: + otlp: + host: $AGENTGATEWAY_OTLP_ADDRESS + protocol: grpc {{- end }} backends: diff --git a/manifests/ate-install/kind/otel-collector.yaml b/manifests/ate-install/kind/otel-collector.yaml index 0aab804597..68b5772057 100644 --- a/manifests/ate-install/kind/otel-collector.yaml +++ b/manifests/ate-install/kind/otel-collector.yaml @@ -93,6 +93,12 @@ data: receivers: [otlp] processors: [batch] exporters: [prometheus, debug] + # The router access log arrives here. Without a logs pipeline the + # receiver rejects the export and the records are lost silently. + logs: + receivers: [otlp] + processors: [batch] + exporters: [debug] # The count pipelines read the same receiver as the two pipelines # above, and they only count. The connector declares MutatesData