diff --git a/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/alloy-logs.alloy b/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/alloy-logs.alloy index 41942fdae7..a4c2e381b7 100644 --- a/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/alloy-logs.alloy +++ b/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/alloy-logs.alloy @@ -76,6 +76,28 @@ declare "pod_logs" { action = "labelmap" regex = "__meta_kubernetes_pod_annotation_(.+)" } + + // explicitly set service_name. if not set, loki will automatically try to populate a default. + // see https://grafana.com/docs/loki/latest/get-started/labels/#default-labels-for-all-users + // + // choose the first value found from the following ordered list: + // - pod.annotation[resource.opentelemetry.io/service.name] + // - pod.label[app.kubernetes.io/name] + // - k8s.pod.name + // - k8s.container.name + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_annotation_resource_opentelemetry_io_service_name", + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_name", + "__meta_kubernetes_pod_container_name", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "service_name" + } } discovery.kubernetes "pods" { diff --git a/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/output.yaml b/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/output.yaml index 8512d4d334..4ed6779b3e 100644 --- a/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/output.yaml +++ b/charts/k8s-monitoring/docs/examples/pod-labels-and-annotations/output.yaml @@ -547,6 +547,28 @@ data: action = "labelmap" regex = "__meta_kubernetes_pod_annotation_(.+)" } + + // explicitly set service_name. if not set, loki will automatically try to populate a default. + // see https://grafana.com/docs/loki/latest/get-started/labels/#default-labels-for-all-users + // + // choose the first value found from the following ordered list: + // - pod.annotation[resource.opentelemetry.io/service.name] + // - pod.label[app.kubernetes.io/name] + // - k8s.pod.name + // - k8s.container.name + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_annotation_resource_opentelemetry_io_service_name", + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_name", + "__meta_kubernetes_pod_container_name", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "service_name" + } } discovery.kubernetes "pods" { diff --git a/charts/k8s-monitoring/docs/examples/private-image-registries/globally/alloy-logs.alloy b/charts/k8s-monitoring/docs/examples/private-image-registries/globally/alloy-logs.alloy index 5633be1200..8fc8c9aca1 100644 --- a/charts/k8s-monitoring/docs/examples/private-image-registries/globally/alloy-logs.alloy +++ b/charts/k8s-monitoring/docs/examples/private-image-registries/globally/alloy-logs.alloy @@ -76,6 +76,28 @@ declare "pod_logs" { action = "labelmap" regex = "__meta_kubernetes_pod_annotation_(.+)" } + + // explicitly set service_name. if not set, loki will automatically try to populate a default. + // see https://grafana.com/docs/loki/latest/get-started/labels/#default-labels-for-all-users + // + // choose the first value found from the following ordered list: + // - pod.annotation[resource.opentelemetry.io/service.name] + // - pod.label[app.kubernetes.io/name] + // - k8s.pod.name + // - k8s.container.name + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_annotation_resource_opentelemetry_io_service_name", + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_name", + "__meta_kubernetes_pod_container_name", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "service_name" + } } discovery.kubernetes "pods" { diff --git a/charts/k8s-monitoring/docs/examples/tolerations/output.yaml b/charts/k8s-monitoring/docs/examples/tolerations/output.yaml index 01a53f122b..e9bd92c939 100644 --- a/charts/k8s-monitoring/docs/examples/tolerations/output.yaml +++ b/charts/k8s-monitoring/docs/examples/tolerations/output.yaml @@ -530,6 +530,28 @@ data: action = "labelmap" regex = "__meta_kubernetes_pod_annotation_(.+)" } + + // explicitly set service_name. if not set, loki will automatically try to populate a default. + // see https://grafana.com/docs/loki/latest/get-started/labels/#default-labels-for-all-users + // + // choose the first value found from the following ordered list: + // - pod.annotation[resource.opentelemetry.io/service.name] + // - pod.label[app.kubernetes.io/name] + // - k8s.pod.name + // - k8s.container.name + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_annotation_resource_opentelemetry_io_service_name", + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_name", + "__meta_kubernetes_pod_container_name", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "service_name" + } } discovery.kubernetes "pods" {