From 97f363df2cbc137080e9c622a4e0dce0023de398 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Thu, 26 Mar 2026 15:23:01 -0700 Subject: [PATCH] Fix Alloy profiling config: remove invalid targets_only, add required labels pyroscope.ebpf requires __container_id__ and service_name labels on targets. Added relabel rules to map from Kubernetes pod metadata. Removed targets_only which doesn't exist as an argument. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../alloy-profiling-ringtail/config.alloy | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/argocd/manifests/alloy-profiling-ringtail/config.alloy b/argocd/manifests/alloy-profiling-ringtail/config.alloy index 7864805..b9395c2 100644 --- a/argocd/manifests/alloy-profiling-ringtail/config.alloy +++ b/argocd/manifests/alloy-profiling-ringtail/config.alloy @@ -10,6 +10,19 @@ discovery.kubernetes "pods" { discovery.relabel "pods" { targets = discovery.kubernetes.pods.targets + // Map container ID for pyroscope.ebpf (required label) + rule { + source_labels = ["__meta_kubernetes_pod_container_id"] + target_label = "__container_id__" + } + + // Build service_name from namespace/pod (required label) + rule { + source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_name"] + separator = "/" + target_label = "service_name" + } + // Keep namespace label rule { source_labels = ["__meta_kubernetes_namespace"] @@ -46,10 +59,9 @@ discovery.relabel "pods" { // ============== eBPF PROFILING ============== pyroscope.ebpf "instance" { - forward_to = [pyroscope.write.endpoint.receiver] - targets_only = true - targets = discovery.relabel.pods.output - demangle = "none" + forward_to = [pyroscope.write.endpoint.receiver] + targets = discovery.relabel.pods.output + demangle = "none" } // ============== PYROSCOPE WRITE ==============