restore: add Kubernetes metadata to JSON logs

- Restore ParseJSON operations to add Kubernetes metadata to log body
- Add kubernetes.pod, kubernetes.namespace, kubernetes.pod_ip, etc. to JSON
- This will enrich the JSON logs with Kubernetes context information
- Maintain original JSON structure while adding K8s metadata
This commit is contained in:
Nicolas 2025-09-22 21:46:38 +08:00
parent 2983250d07
commit a8d6af93aa

View File

@ -77,11 +77,16 @@ spec:
statements: statements:
- set(resource.attributes["application"], "authentication") - set(resource.attributes["application"], "authentication")
- set(resource.attributes["environment"], "{{ .Values.global.environment | default .Release.Namespace }}") - set(resource.attributes["environment"], "{{ .Values.global.environment | default .Release.Namespace }}")
- set(resource.attributes["pod_ip"], resource.attributes["k8s.pod.ip"]) - set(resource.attributes["body_json"], ParseJSON(log.body))
- set(resource.attributes["pod_name"], resource.attributes["k8s.pod.name"]) - set(resource.attributes["body_json"]["kubernetes"]["pod"], resource.attributes["k8s.pod.name"])
- set(resource.attributes["kubernetes_node_name"], resource.attributes["k8s.node.name"]) - set(resource.attributes["body_json"]["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"])
- set(resource.attributes["kubernetes_deployment_name"], resource.attributes["k8s.deployment.name"]) - set(resource.attributes["body_json"]["kubernetes"]["pod_ip"], resource.attributes["k8s.pod.ip"])
- set(resource.attributes["kubernetes_namespace"], resource.attributes["k8s.namespace.name"]) - set(resource.attributes["body_json"]["kubernetes"]["pod_uid"], resource.attributes["k8s.pod.uid"])
- set(resource.attributes["body_json"]["kubernetes"]["deployment"], resource.attributes["k8s.deployment.name"])
- set(resource.attributes["body_json"]["kubernetes"]["node"], resource.attributes["k8s.node.name"])
- set(resource.attributes["body_json"]["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"])
- set(log.body, resource.attributes["body_json"])
- delete_key(resource.attributes, "body_json")
batch: batch:
send_batch_size: 5 send_batch_size: 5
timeout: 10s timeout: 10s