fix(opentelemetry): update environment variables and resource attributes for improved metadata extraction

Signed-off-by: zhenyus <zhenyus@mathmast.com>
This commit is contained in:
zhenyus 2025-04-21 19:43:22 +08:00
parent 15dd1fba0b
commit ddabde9dc0

View File

@ -16,6 +16,31 @@ spec:
privileged: true privileged: true
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
env:
- name: KUBE_META_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: KUBE_META_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: KUBE_META_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: KUBE_META_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: KUBE_META_POD_UID
valueFrom:
fieldRef:
fieldPath: metadata.uid
- name: KUBE_META_OBJECT_NAME
valueFrom:
fieldRef:
fieldPath: metadata.labels['app.kubernetes.io/instance']
config: config:
receivers: receivers:
filelog: filelog:
@ -29,29 +54,26 @@ spec:
parse_from: body parse_from: body
parse_to: attributes parse_to: attributes
processors: processors:
k8sattributes: resource:
auth_type: serviceAccount attributes:
wait_for_metadata: true - action: insert
wait_for_metadata_timeout: 5s key: k8s.node.name
passthrough: false from_env: KUBE_META_NODE_NAME
extract: - action: insert
metadata: key: k8s.pod.name
- k8s.pod.name from_env: KUBE_META_POD_NAME
- k8s.pod.ip - action: insert
- k8s.pod.uid key: k8s.pod.ip
- k8s.deployment.name from_env: KUBE_META_POD_IP
- k8s.deployment.uid - action: insert
- k8s.namespace.name key: k8s.pod.uid
- k8s.node.name from_env: KUBE_META_POD_UID
pod_association: - action: insert
- sources: key: k8s.namespace.name
- from: resource_attributes from_env: KUBE_META_NAMESPACE
name: k8s.pod.name - action: insert
- sources: key: k8s.deployment.name
- from: resource_attributes from_env: KUBE_META_OBJECT_NAME
name: k8s.pod.uid
- sources:
- from: connection
transform: transform:
log_statements: log_statements:
- context: log - context: log
@ -62,14 +84,12 @@ spec:
- set(resource.attributes["kubernetes_pod_name"], resource.attributes["k8s.pod.name"]) - set(resource.attributes["kubernetes_pod_name"], resource.attributes["k8s.pod.name"])
- set(resource.attributes["kubernetes_pod_ip"], resource.attributes["k8s.pod.ip"]) - set(resource.attributes["kubernetes_pod_ip"], resource.attributes["k8s.pod.ip"])
- set(resource.attributes["kubernetes_deployment_name"], resource.attributes["k8s.deployment.name"]) - set(resource.attributes["kubernetes_deployment_name"], resource.attributes["k8s.deployment.name"])
- set(resource.attributes["kubernetes_statefulset_name"], resource.attributes["k8s.statefulset.name"])
- set(resource.attributes["kubernetes_namespace"], resource.attributes["k8s.namespace.name"]) - set(resource.attributes["kubernetes_namespace"], resource.attributes["k8s.namespace.name"])
- set(log.body["kubernetes"]["pod"], resource.attributes["k8s.pod.name"]) - set(log.body["kubernetes"]["pod"], resource.attributes["k8s.pod.name"])
- set(log.body["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"]) - set(log.body["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"])
- set(log.body["kubernetes"]["pod_ip"], resource.attributes["k8s.pod.ip"]) - set(log.body["kubernetes"]["pod_ip"], resource.attributes["k8s.pod.ip"])
- set(log.body["kubernetes"]["pod_uid"], resource.attributes["k8s.pod.uid"]) - set(log.body["kubernetes"]["pod_uid"], resource.attributes["k8s.pod.uid"])
- set(log.body["kubernetes"]["deployment"], resource.attributes["k8s.deployment.name"]) - set(log.body["kubernetes"]["deployment"], resource.attributes["k8s.deployment.name"])
- set(log.body["kubernetes"]["deployment_uid"], resource.attributes["k8s.deployment.uid"])
- set(log.body["kubernetes"]["node"], resource.attributes["k8s.node.name"]) - set(log.body["kubernetes"]["node"], resource.attributes["k8s.node.name"])
- set(log.body["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"]) - set(log.body["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"])
batch: batch:
@ -89,6 +109,6 @@ spec:
pipelines: pipelines:
logs: logs:
receivers: [filelog] receivers: [filelog]
processors: [k8sattributes, transform, batch] processors: [transform, batch]
exporters: [otlphttp/logs, debug] exporters: [otlphttp/logs, debug]
{{- end }} {{- end }}