1 默认配置
1.1 filebeat
filebeat-7.17.yml,从网关中下载k8s的配置,指定es和kibana的配置
通过kibana查询可以查询到日志了,但此时还不知道具体怎么用。
1.2 kibana
在Discover中创建索引格式:filebeat-*,得到如下图,可以看出acc-statement-server的日志最多。但里面的字段太多了,下面应该怎么看呢?
再跟进查看日志,filebeat应该是每一样记录一次,这个浪费了很多存储空间。另外排查问题也并不好查。
2 多行合并输出
如果使用默认的配置,每一行日志,就会产生一条记录。
2.1 filebeat
增加多行规则匹配
设置索引,符合条件走自己的索引,否则则为默认索引
output.elasticsearch:
hosts: ['10.101.10.2:9200','10.101.10.3:9200','10.101.10.4:9200']
username: ${ELASTICSEARCH_USERNAME}
password: ${ELASTICSEARCH_PASSWORD}
indices:
- index: acc-accountbook-server-%{+yyyy.MM.dd}
when.contains:
kubernetes.container.name: acc-accountbook-server
- index: acc-analysis-server-%{+yyyy.MM.dd}
when.contains:
kubernetes.container.name: acc-analysis-server
index: filebeat-7.17.25-%{+yyyy.MM.dd}
在kibana中跟进日志,发现少部分日志输出成功,大多失败,这是什么原因呢?
为什么有些可以添加数据,有些不能呢
调试发现,我在索引前面加上了eayc就可以了,看来问题就出现在索引策略