diff --git a/services/monitoring/deploy/alloy/kube-scraper/helm-values.yaml b/services/monitoring/deploy/alloy/kube-scraper/helm-values.yaml index 9f05c5a..0f493ee 100644 --- a/services/monitoring/deploy/alloy/kube-scraper/helm-values.yaml +++ b/services/monitoring/deploy/alloy/kube-scraper/helm-values.yaml @@ -7,6 +7,10 @@ alloy: # https://grafana.com/docs/alloy/latest/collect/logs-in-kubernetes/ configMap: content: | + logging { + level = "warn" + } + // ============================================ // Discovery: Kubernetes - Nodes // used by: @@ -46,15 +50,15 @@ alloy: } // ============================================ - // Metrics: Prometheus Remote Write (CORREÇÃO: Bloco adicionado) + // Metrics: Prometheus Remote Write // ============================================ prometheus.remote_write "prometheus_srv" { endpoint { - url = env("PROMETHEUS_URL") + url = sys.env("PROMETHEUS_URL") } external_labels = { - cluster = env("CLUSTER_NAME"), - zone = env("ZONE"), + cluster = sys.env("CLUSTER_NAME"), + zone = sys.env("ZONE"), } } @@ -64,15 +68,15 @@ alloy: loki.write "loki_srv" { endpoint { - url = env("LOKI_URL") + url = sys.env("LOKI_URL") } } loki.process "loki_srv" { stage.static_labels { values = { - cluster = env("CLUSTER_NAME"), - zone = env("ZONE"), + cluster = sys.env("CLUSTER_NAME"), + zone = sys.env("ZONE"), } } forward_to = [loki.write.loki_srv.receiver] @@ -168,6 +172,79 @@ alloy: } } + discovery.relabel "kubelet" { + targets = discovery.kubernetes.kube_nodes.targets + + rule { + regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$" + action = "drop" + } + + rule { + regex = "container_fs_.*|container_network_.*|container_hugetlb_.*|container_blkio_.*|container_tasks_state_.*" + action = "drop" + } + + + // duplicate metrics from cAdviser + rule { + regex = "container_cpu_usage_seconds_total|container_memory_working_set_bytes|container_memory_rss|container_memory_cache" + action = "drop" + } + + rule { + source_labels = ["__meta_kubernetes_node_address_InternalIP"] + target_label = "__address__" + replacement = "$1:10250" + } + + rule { + action = "replace" + source_labels = ["__meta_kubernetes_node_name"] + regex = "(.+)" + target_label = "node" + } + + rule { + source_labels = ["node"] + target_label = "host" + } + + + rule { + target_label = "__metrics_path__" + replacement = "/metrics" + } + + rule { + target_label = "cluster" + replacement = sys.env("CLUSTER_NAME") + } + + rule { + target_label = "zone" + replacement = sys.env("ZONE") + } + } + + + prometheus.scrape "kubelet" { + job_name = "integrations/kubernetes/kubelet" + targets = discovery.relabel.kubelet.output + + scheme = "https" + metrics_path = "/metrics" + + tls_config { + server_name = "kubernetes" + ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + insecure_skip_verify = true + } + + bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" + + forward_to = [prometheus.remote_write.prometheus_srv.receiver] + } // =============================================================================== // prometheus / Metrics - Scrape kube_state_metrics @@ -192,14 +269,19 @@ alloy: action = "keep" } + rule { + regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$" + action = "drop" + } + rule { target_label = "cluster" - replacement = env("CLUSTER_NAME") + replacement = sys.env("CLUSTER_NAME") } rule { target_label = "zone" - replacement = env("ZONE") + replacement = sys.env("ZONE") } } @@ -235,6 +317,12 @@ alloy: discovery.relabel "kube_node_metrics" { targets = discovery.kubernetes.kube_nodes.targets + + rule { + regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$" + action = "drop" + } + rule { action = "replace" source_labels = ["__meta_kubernetes_node_name"] @@ -254,12 +342,12 @@ alloy: rule { target_label = "cluster" - replacement = env("CLUSTER_NAME") + replacement = sys.env("CLUSTER_NAME") } rule { target_label = "zone" - replacement = env("ZONE") + replacement = sys.env("ZONE") } } @@ -275,15 +363,25 @@ alloy: regex = "kubernetes" action = "keep" } + + rule { + regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$" + action = "drop" + } + + rule { + regex = "apiserver_flowcontrol_.*|apiserver_envelope_.*" + action = "drop" + } rule { target_label = "cluster" - replacement = env("CLUSTER_NAME") + replacement = sys.env("CLUSTER_NAME") } rule { target_label = "zone" - replacement = env("ZONE") + replacement = sys.env("ZONE") } } @@ -318,6 +416,16 @@ alloy: action = "keep" } + rule { + regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$" + action = "drop" + } + + rule { + regex = "coredns_cache_.*|coredns_forward_.*" + action = "drop" + } + rule { source_labels = ["__meta_kubernetes_endpoint_node_name"] target_label = "node" @@ -331,12 +439,12 @@ alloy: rule { target_label = "cluster" - replacement = env("CLUSTER_NAME") + replacement = sys.env("CLUSTER_NAME") } rule { target_label = "zone" - replacement = env("ZONE") + replacement = sys.env("ZONE") } } diff --git a/services/monitoring/deploy/alloy/node-scraper/helm-values.yaml b/services/monitoring/deploy/alloy/node-scraper/helm-values.yaml index 328d813..2490b4f 100644 --- a/services/monitoring/deploy/alloy/node-scraper/helm-values.yaml +++ b/services/monitoring/deploy/alloy/node-scraper/helm-values.yaml @@ -58,13 +58,16 @@ alloy: # https://grafana.com/docs/alloy/latest/collect/logs-in-kubernetes/ configMap: content: | - + logging { + level = "warn" + } + // ============================================ // LOKI WRITE TARGET // ============================================ loki.write "loki_srv" { endpoint { - url = env("LOKI_URL") + url = sys.env("LOKI_URL") } } @@ -114,9 +117,9 @@ alloy: loki.process "host_journal" { stage.static_labels { values = { - cluster = env("CLUSTER_NAME"), - host = env("HOSTNAME"), - zone = env("ZONE"), + cluster = sys.env("CLUSTER_NAME"), + host = sys.env("HOSTNAME"), + zone = sys.env("ZONE"), job = "journald", service_name = "journald", } @@ -132,13 +135,13 @@ alloy: prometheus.remote_write "metrics_service" { endpoint { - url = env("PROMETHEUS_URL") + url = sys.env("PROMETHEUS_URL") } // global labels external_labels = { - cluster = env("CLUSTER_NAME"), - zone = env("ZONE"), + cluster = sys.env("CLUSTER_NAME"), + zone = sys.env("ZONE"), } } @@ -161,8 +164,8 @@ alloy: ] filesystem { - mount_points_exclude = "^/(dev|proc|sys|run/containerd/.+|var/lib/docker/.+|var/lib/kubelet/.+)($|/)" - fs_types_exclude = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|erofs)$" + mount_points_exclude = "^(/host|/)(etc/resolv.conf|etc/hosts|etc/hostname|etc/machine-id|dataDisks/nvme01-ephemeral/.+|proc|sys|run/containerd/.+|run/k3s/containerd/.+|var/lib/docker/.+|var/lib/kubelet/.+)($|/)" + fs_types_exclude = "^(tmpfs|shm|autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|erofs)$" mount_timeout = "5s" } @@ -187,13 +190,13 @@ alloy: rule { action = "replace" - replacement = env("HOSTNAME") + replacement = sys.env("HOSTNAME") target_label = "nodename" } rule { action = "replace" - replacement = env("HOSTNAME") + replacement = sys.env("HOSTNAME") target_label = "node" } }