Open zzzyuan0 opened 1 year ago
我去该目录下 /var/log/pods/default_log-gen-deployment-d8bb8d84d-9hvwx_a0c83a1f-a7cd-49d7-b89f-b5017619cd49/my-container/0.log 是可以找到缺失的那部分日志的
通过观察,他写db是两秒一次,偏移量每次写都有变化,但是他写文件是30秒一次?? 这一点是很奇怪的,虽然暂时看到代码两秒默认值应该是1s一次,暂时没找到是哪儿出现问题了。
问题原因: file sink是写buffer,当达到一定大小或者超时时间后,才会flush真正写入到磁盘中。
可优化点:
resources: limits: cpu: 200m memory: 200Mi requests: cpu: 50m memory: 50Mi
loggie 额外参数
extraArgs:
开启loggie日志输出至目录
log.enableFile: true
日志输出目录
log.directory: /log/today
日志输出文件名
log.filename: loggie.log
日志是否需要彩色
log.noColor: true
关闭stdout
log.enableStdout: false
日志最大备份文件数, 为1 (即日志轮转备份文件数,加上写入的日志文件共2文件)
log.maxBackups: 1
文件最大大小 20M
log.maxSize: 20
log.maxAge: 7
log.level: debug 日志等级
log.jsonFormat: true 日志是否json格式化
挂载额外的数据卷
extraVolumeMounts:
挂载本机日志统一输出路径
额外的卷
extraVolumes:
环境变量
extraEnvs: {}
时区
timezone: Asia/Shanghai
nodeSelector: {} affinity: {}
tolerations:
更新策略 onDelete/RollingUpdate
updateStrategy: type: RollingUpdate
config: loggie: reload: enabled: true period: 10s monitor: logger: listeners: filesource: period: 10s filewatcher: period: 5m reload: period: 10s sink: period: 10s queue: period: 10s pipeline: period: 10s discovery: enabled: true kubernetes: containerRuntime: containerd rootFsCollectionEnabled: true parseStdout: false dynamicContainerLog: true typePodFields: logconfig: "${_k8s.logconfig}" namespace: "${_k8s.pod.namespace}" nodename: "${_k8s.node.name}" podname: "${_k8s.pod.name}" poduid: "${_k8s.pod.uid}" containername: "${_k8s.pod.container.name}" http: enabled: true port: 9196
默认配置
defaults: sources:
开启ack
ack: enable: true