From 63faaf14687ae0302a00b9c95913e444ebf61a86 Mon Sep 17 00:00:00 2001 From: pgijsbertsen <117165507+pgijsbertsen@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:11:02 +0100 Subject: [PATCH] chore(alloy): Setup config from scratch --- k8s-wheatley/alloy/configmap.yaml | 81 +++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/k8s-wheatley/alloy/configmap.yaml b/k8s-wheatley/alloy/configmap.yaml index e7b2391..090d2c4 100644 --- a/k8s-wheatley/alloy/configmap.yaml +++ b/k8s-wheatley/alloy/configmap.yaml @@ -7,6 +7,87 @@ data: config.alloy: |- prometheus.exporter.unix "node" {} + prometheus.relabel "cadvisor_minimal" { + rule { action = "keep" source_labels = ["__name__"] regex = "container_cpu_usage_seconds_total|container_memory_working_set_bytes" } + + forward_to = [prometheus.relabel.global_filter.receiver] + } + + prometheus.relabel "global_filter" { + rule { action = "drop" source_labels = ["__name__"] regex = "go_.*|process_.*" } + rule { action = "drop" source_labels = ["__name__"] regex = "kube_.*_labels|kube_.*_annotations" } + rule { action = "labeldrop" regex = "pod_uid|container_id|image_id|container_hash|endpoint|id" } + + forward_to = [prometheus.remote_write.default.receiver] + } + + discovery.kubernetes "nodes" { + role = "node" + } + + discovery.kubernetes "nodes_cadvisor" { + role = "node" + } + + discovery.kubernetes "pods" { + role = "pod" + } + + discovery.kubernetes "apiservers" { + role = "endpoints" + } + + prometheus.scrape "node_exporter" { + targets = prometheus.exporter.unix.targets + job_name = "node-exporter" + + forward_to = [prometheus.relabel.global_filter.receiver] + } + + prometheus.scrape "kubernetes_nodes_cadvisor" { + targets = discovery.kubernetes.nodes_cadvisor.targets + job_name = "kubernetes-nodes-cadvisor" + + scheme = "https" + authorization { + type = "Bearer" + credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" + } + + tls_config { + ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + insecure_skip_verify = true + } + + forward_to = [prometheus.relabel.cadvisor_minimal.receiver] + } + + prometheus.scrape "kubernetes_pods" { + targets = discovery.kubernetes.pods.targets + job_name = "kubernetes-pods" + honor_labels = true + + forward_to = [prometheus.relabel.global_filter.receiver] + } + + prometheus.scrape "kubernetes_apiservers" { + targets = discovery.kubernetes.apiservers.targets + job_name = "kubernetes-apiservers" + + scheme = "https" + authorization { + type = "Bearer" + credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" + } + + tls_config { + ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + insecure_skip_verify = true + } + + forward_to = [prometheus.relabel.global_filter.receiver] + } + loki.process "pod_logs" { forward_to = [loki.write.default.receiver]