fix: optimize central storage logging configuration to resolve hourly log bursts

- Change start_at from beginning to end to avoid historical log duplication
- Add poll_interval: 1s for real-time file monitoring
- Optimize batch processing: send_batch_size: 1, timeout: 1s
- Add PVC template for log persistence to reduce log loss risk
- Update deployment to support persistent volume for logs
This commit is contained in:
Nicolas 2025-07-31 10:14:55 +08:00
parent 309bd6ff7c
commit 7a7fcf1398
3 changed files with 28 additions and 3 deletions

View File

@ -114,5 +114,10 @@ spec:
{{- if .Values.logIngest.enabled }}
volumes:
- name: app-logs
{{- if .Values.logIngest.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ .Release.Name }}-logs-pvc
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}

View File

@ -46,7 +46,8 @@ spec:
filelog:
include:
- {{ .Values.logIngest.logPathPattern }}
start_at: beginning
start_at: end
poll_interval: 1s
include_file_path: false
include_file_name: false
operators:
@ -96,8 +97,8 @@ spec:
- 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

View File

@ -0,0 +1,19 @@
{{- if and .Values.logIngest.enabled .Values.logIngest.persistence.enabled }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ .Release.Name }}-logs-pvc
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: "central-storage"
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.logIngest.persistence.size | default "1Gi" }}
{{- if .Values.logIngest.persistence.storageClass }}
storageClassName: {{ .Values.logIngest.persistence.storageClass }}
{{- end }}
{{- end }}