From 5e13798fa1fba123ae56b1f6e6e9ed0b7d61b985 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Fri, 26 Sep 2025 11:24:32 +0800 Subject: [PATCH] fix(opentelemetry): update log ingestion configuration and enhance Kubernetes attributes --- .../chat/templates/chat/opentelemetry.yaml | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/freeleaps/helm-pkg/chat/templates/chat/opentelemetry.yaml b/freeleaps/helm-pkg/chat/templates/chat/opentelemetry.yaml index 6009089e..f2bebfee 100644 --- a/freeleaps/helm-pkg/chat/templates/chat/opentelemetry.yaml +++ b/freeleaps/helm-pkg/chat/templates/chat/opentelemetry.yaml @@ -46,16 +46,14 @@ spec: filelog: include: - {{ .Values.logIngest.logPathPattern }} - start_at: end + start_at: beginning include_file_path: false include_file_name: false - operators: - - type: json_parser - parse_from: body - parse_to: attributes - - type: move - from: attributes.text - to: body + operators: [] + # Add container logs receiver for stdout + k8s_cluster: + auth_type: serviceAccount + namespaces: [{{ .Release.Namespace }}] processors: resource: attributes: @@ -82,27 +80,34 @@ spec: - context: log statements: - set(resource.attributes["application"], "chat") + - set(resource.attributes["service_name"], "chat") - set(resource.attributes["environment"], "{{ .Values.global.environment | default .Release.Namespace }}") - - set(resource.attributes["kubernetes_node_name"], resource.attributes["k8s.node.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_deployment_name"], resource.attributes["k8s.deployment.name"]) - - set(resource.attributes["kubernetes_namespace"], resource.attributes["k8s.namespace.name"]) + - set(resource.attributes["body_json"], ParseJSON(log.body)) + - set(resource.attributes["body_json"]["kubernetes"]["pod"], resource.attributes["k8s.pod.name"]) + - set(resource.attributes["body_json"]["kubernetes"]["namespace"], resource.attributes["k8s.namespace.name"]) + - set(resource.attributes["body_json"]["kubernetes"]["pod_ip"], resource.attributes["k8s.pod.ip"]) + - 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(log.body, resource.attributes["body_json"]) + - delete_key(resource.attributes, "body_json") batch: - send_batch_size: 5 - timeout: 10s + send_batch_size: 1 + timeout: 1s exporters: otlphttp/logs: endpoint: {{ .Values.logIngest.lokiEndpoint }}/otlp tls: insecure: true + headers: + X-Scope-OrgID: "chat" service: telemetry: logs: level: info pipelines: logs: - receivers: [filelog] + receivers: [filelog, k8s_cluster] processors: [resource, transform, batch] exporters: [otlphttp/logs] {{- end }} \ No newline at end of file