0%

Kubenetes filebeat添加close_inactive选项

最近要修改k8s集群上filebeat的配置文件,其中很重要的一项就是配置 close-inactive 的时间。 默认时间是5min,我们觉得时间有点长了,决定改为1min钟。我们部署filebeat是已经用helm封装好了,所以修改配置文件很简单,只需要改 values 即可。
原始的 values 文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
filebeatConfig:
filebeat.yml: |-
filebeat.autodiscover:
providers:
- type: kubernetes
in_cluster: true
hints.enabled: true
hints.default_config:
type: container
paths:
- /var/lib/docker/containers/${data.kubernetes.container.id}/*.log
processors:
- add_kubernetes_metadata:
max_bytes: 102400

output.logstash:
hosts: ['logstash-logstash.elk-system.svc.cluster.local:5044']
...

添加完:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
filebeatConfig:
filebeat.yml: |-
filebeat.autodiscover:
providers:
- type: kubernetes
in_cluster: true
hints.enabled: true
hints.default_config:
type: container
paths:
- /var/lib/docker/containers/${data.kubernetes.container.id}/*.log
processors:
- add_kubernetes_metadata:
max_bytes: 102400
close_inactive: 1m

output.logstash:
hosts: ['logstash.elk-system.svc.cluster.local:5044']
...

之后helm 重新部署 filebeat 即可。

坑点需要注意的其实就是 close_inactive: 1m 这个字段的位置,别写错就行。官方文档没有特别针对这块有demo。特此记录一下。