From 1c2a470a095f9917428531b543c9a9fbad99bf4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Mon, 21 Sep 2026 22:09:44 +0000 Subject: [PATCH] monitoring: moved pod logs node-scraper --- .../base/alloy/kube-scraper/config.alloy | 100 ------------------ .../base/alloy/node-scraper/config.alloy | 79 ++++++++++++++ 2 files changed, 79 insertions(+), 100 deletions(-) diff --git a/monitoring/base/alloy/kube-scraper/config.alloy b/monitoring/base/alloy/kube-scraper/config.alloy index 26c2d5c..22e7146 100644 --- a/monitoring/base/alloy/kube-scraper/config.alloy +++ b/monitoring/base/alloy/kube-scraper/config.alloy @@ -12,14 +12,6 @@ discovery.kubernetes "kube_nodes" { role = "node" } -// ============================================ -// Discovery: Kubernetes - pods -// ============================================ - -discovery.kubernetes "kube_pods" { - role = "pod" -} - // ============================================ // Discovery: Kubernetes - services // used by: @@ -39,98 +31,6 @@ discovery.kubernetes "kube_endpoints" { } -// ============================================ -// Logs: Loki config -// ============================================ - -loki.write "loki_srv" { - endpoint { - url = sys.env("LOKI_URL") - } -} - -loki.process "loki_srv" { - stage.static_labels { - values = { - cluster = sys.env("CLUSTER_NAME"), - zone = sys.env("ZONE"), - job = "integrations/kubernetes/pod-logs", - } - } - forward_to = [loki.write.loki_srv.receiver] -} - - -// ============================================ -// Loki.source kube_pod_logs -// Requirements: -// - discovery.relabel: kube_pod_logs -// - discovery.process: loki_srv -// ============================================ - -loki.source.kubernetes "kube_pod_logs" { - targets = discovery.relabel.kube_pod_logs.output - forward_to = [loki.process.loki_srv.receiver] -} - - -// ============================================ -// Discovery:relabel: kube_pod_logs -// Requirements: -// - discovery.kubernetes.role.pod: kube_pods -// ============================================ - -discovery.relabel "kube_pod_logs" { - targets = discovery.kubernetes.kube_pods.targets - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - - rule { - source_labels = ["__meta_kubernetes_pod_name"] - regex = "^(.+?)-[0-9a-zA-Z]{4,16}(?:-[0-9a-zA-Z]{4,16})?$" - replacement = "$1" - target_label = "pod" - } - - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - - rule { - source_labels = ["__meta_kubernetes_node_name"] - target_label = "node_name" - } - - rule { - source_labels = [ - "__meta_kubernetes_pod_controller_name", - ] - regex = "([0-9a-z-.]+?)(-[0-9a-f]{8,10})?" - target_label = "controller" - } - - rule { - source_labels = [ - "__meta_kubernetes_pod_label_app_kubernetes_io_name", - "__meta_kubernetes_pod_label_app", - "controller_name", - "__meta_kubernetes_pod_name", - ] - regex = "^;*([^;]+)(;.*)?$" - target_label = "app" - } - - rule { - source_labels = ["__meta_kubernetes_pod_node_name"] - separator = ":" - target_label = "host" - } -} - - // ============================================ // Metrics: Prometheus Remote Write // ============================================ diff --git a/monitoring/base/alloy/node-scraper/config.alloy b/monitoring/base/alloy/node-scraper/config.alloy index c0bbcec..f8328ba 100644 --- a/monitoring/base/alloy/node-scraper/config.alloy +++ b/monitoring/base/alloy/node-scraper/config.alloy @@ -68,6 +68,85 @@ loki.process "host_journal" { } +// ============================================ +// Discovery: Kubernetes - pods +// ============================================ +discovery.kubernetes "kube_pods" { + role = "pod" + + selectors { + role = "pod" + field = "spec.nodeName=" + coalesce(env("HOSTNAME"), constants.hostname) + } +} + + +loki.process "kube_pod_logs" { + stage.static_labels { + values = { + cluster = sys.env("CLUSTER_NAME"), + zone = sys.env("ZONE"), + host = sys.env("HOSTNAME"), + node_name = sys.env("HOSTNAME"), + job = "integrations/kubernetes/pod-logs", + } + } + forward_to = [loki.write.loki_srv.receiver] +} + + +// ============================================ +// Loki.source kube_pod_logs +// Requirements: +// - discovery.relabel: kube_pod_logs +// - discovery.process: loki_srv +// ============================================ + +loki.source.kubernetes "kube_pod_logs" { + targets = discovery.relabel.kube_pod_logs.output + forward_to = [loki.process.kube_pod_logs.receiver] +} + +discovery.relabel "kube_pod_logs" { + targets = discovery.kubernetes.kube_pods.targets + rule { + source_labels = ["__meta_kubernetes_namespace"] + target_label = "namespace" + } + + rule { + source_labels = ["__meta_kubernetes_pod_name"] + regex = "^(.+?)-[0-9a-zA-Z]{4,16}(?:-[0-9a-zA-Z]{4,16})?$" + replacement = "$1" + target_label = "pod" + } + + rule { + source_labels = ["__meta_kubernetes_pod_container_name"] + target_label = "container" + } + + rule { + source_labels = [ + "__meta_kubernetes_pod_controller_name", + ] + regex = "([0-9a-z-.]+?)(-[0-9a-f]{8,10})?" + target_label = "controller" + } + + rule { + source_labels = [ + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_label_app", + "controller_name", + "__meta_kubernetes_pod_name", + ] + regex = "^;*([^;]+)(;.*)?$" + target_label = "app" + } + +} + // ============================================