fix(opentelemetry): update log ingestion configuration and enhance Kubernetes attributes

This commit is contained in:
Nicolas 2025-09-26 11:24:32 +08:00
parent 8531ef0095
commit 5e13798fa1

View File

@ -46,16 +46,14 @@ spec:
filelog: filelog:
include: include:
- {{ .Values.logIngest.logPathPattern }} - {{ .Values.logIngest.logPathPattern }}
start_at: end start_at: beginning
include_file_path: false include_file_path: false
include_file_name: false include_file_name: false
operators: operators: []
- type: json_parser # Add container logs receiver for stdout
parse_from: body k8s_cluster:
parse_to: attributes auth_type: serviceAccount
- type: move namespaces: [{{ .Release.Namespace }}]
from: attributes.text
to: body
processors: processors:
resource: resource:
attributes: attributes:
@ -82,27 +80,34 @@ spec:
- context: log - context: log
statements: statements:
- set(resource.attributes["application"], "chat") - set(resource.attributes["application"], "chat")
- set(resource.attributes["service_name"], "chat")
- set(resource.attributes["environment"], "{{ .Values.global.environment | default .Release.Namespace }}") - set(resource.attributes["environment"], "{{ .Values.global.environment | default .Release.Namespace }}")
- set(resource.attributes["kubernetes_node_name"], resource.attributes["k8s.node.name"]) - set(resource.attributes["body_json"], ParseJSON(log.body))
- set(resource.attributes["kubernetes_pod_name"], resource.attributes["k8s.pod.name"]) - set(resource.attributes["body_json"]["kubernetes"]["pod"], resource.attributes["k8s.pod.name"])
- set(resource.attributes["kubernetes_pod_ip"], resource.attributes["k8s.pod.ip"]) - 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(log.body, resource.attributes["body_json"])
- delete_key(resource.attributes, "body_json")
batch: batch:
send_batch_size: 5 send_batch_size: 1
timeout: 10s timeout: 1s
exporters: exporters:
otlphttp/logs: otlphttp/logs:
endpoint: {{ .Values.logIngest.lokiEndpoint }}/otlp endpoint: {{ .Values.logIngest.lokiEndpoint }}/otlp
tls: tls:
insecure: true insecure: true
headers:
X-Scope-OrgID: "chat"
service: service:
telemetry: telemetry:
logs: logs:
level: info level: info
pipelines: pipelines:
logs: logs:
receivers: [filelog] receivers: [filelog, k8s_cluster]
processors: [resource, transform, batch] processors: [resource, transform, batch]
exporters: [otlphttp/logs] exporters: [otlphttp/logs]
{{- end }} {{- end }}