sidecar 收集日志 filebeat 如何配置自动重载配置文件
sober-wang opened this issue · comments
尚墨 commented
环境
k8s v1.13.5
版本和配置信息
filebeat version 7.3.1
- kubernetes版本:1.13.5
- docker版本:18
- 网络插件:flannel
- 存储类型:
操作
导致该问题的操作或现象
filebeat 不会自动重载 configmap 挂载的配置文件
我的filebeat 配置如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-config
data:
filebeat.yml: |
filebeat.config.modules:
enabled: true
path: /etc/filebeat/*.yml
filebeat.config.inputs:
enabled: true
path: /etc/filebeat/*.yml
reload.enabled: true
reload.period: 10s
filebeat.inputs:
- type: log
paths:
- /data/logs/*.log
- /*.log
tags: ["ws-test-hello"]
output.file:
path: "/data/logs/"
filename: filebeat-test
max_procs: 1
multiline.pattern: '^[[:space:]]'
multiline.negate: false
multiline.match: after
processors:
- add_fields:
target: info
fields:
hostName: '${HOST_NAME}'
hostIP: '${HOST_IP}'
日志
日志或报错信息
尚墨 commented
Filebeat 自身的重载配置文件,只能对 input
方向重载,有的时候我们需要重载其他配置项,这个模式是不行的。
我设计了一个 livenessProbe
当检测到 Filebeat configmaps 挂载文件发生变化时,标记为 unhealth
重启 SideCar Container 用新的配置文件启动。
例如: 我在启动脚本里面添加了,以下内容
src=`md5sum /etc/filebeat/filebeat.yml | awk '{print $1}'`
while :
do
dest=`md5sum /etc/filebeat/filebeat.yml | awk '{print $1}'`
if [ $src != $dest ]
then
rm -rf /data/check.txt
fi
done
我的 lifecycle
livenessProbe:
exec:
command:
- cat
- /data/check.txt
Jimmy Song commented
这个问题时间太过久远,长时间没有追问,关闭问题。如有后续进展请在 issue 中回复。