What's changed
- Add the
root,host-network,host-storage, andhost-cgroupcollector presets and deprecate theprivilegedpreset.rootsets the privileged rootsecurityContext,host-networksetshostPID/hostNetwork/dnsPolicy, andhost-storage/host-cgroupmount host paths.privilegedis unchanged and still works, but cannot be combined with these new presets. (#2796) (@TylerHelmuth) - Collector presets now append their
alloy.mounts.extraandcontroller.volumes.extraentries instead of overwriting, and the OpenShiftSecurityContextConstraintsallows host networking and ports when a collector setshostNetwork. (#2796) (@TylerHelmuth) - Add per-instance
extraDiscoveryRulesto the Service Integrations feature, allowing pre-scrapediscovery.relabelrules — e.g. alabelmapfrom pod annotations — to enrich an integration's scraped metrics with custom labels while the__meta_*discovery labels are still present. Set on each integration instance (the targets it discovers are unique); available on all nine Kubernetes service-discovery integrations, with Istio set per sidecar and istiod. (@bradleypettit) - Fix
kubeletResource.extraDiscoveryRulesandkubeletProbes.extraDiscoveryRulesbeing silently dropped. (#2743) (@bradleypettit) - Surface
deploy: falsedefaults fortelemetryServices.beylaandtelemetryServices.sdkInjectorin the top-level values, matching the other telemetry services. This prevents them from deploying unintentionally on Helm versions affected by a subchart value coalescing regression (helm/helm#32132). (#2781, #2782) (@petewall) - Change the default remote configuration
pollFrequencyfrom5mto30s. (@TylerHelmuth) - Add
CLUSTER_NAMEenvironment variable to remote-config-enabled collectors alongsideNAMESPACEandPOD_NAME. (#2775) (@petewall) - Fix OTLP destinations producing
;-joined duplicate label values ontarget_info(e.g.k8s_cluster_name="c;c") when a scrape target exposes its owntarget_infometric. Flat resource attributes from the conversion (service_namespace,deployment_environment,deployment_environment_name,k8s_cluster_name) are reconciled into their dotted equivalents and dropped when the values match. (#2786) (@mbaykara)* Fix OTLP destinations deriving the wrong service identity for metrics converted from a Prometheus scrape. The conversion setsservice.nameto the fulljoblabel (e.g.namespace/workloadfrom Grafana Beyla), breaking service-to-logs correlation in Application Observability. A new normalization step afterotelcol.receiver.prometheusprefers the explicitservice_namelabel; OTLP-native telemetry is unaffected. (#2783) (@mbaykara)
Chart released at https://github.com/grafana/helm-charts/releases/tag/k8s-monitoring-4.2.1
Full changelog: CHANGELOG.md