ELK学习笔记之filbeat pod无法将容器日志发送到Elasticsearch7.8 reconnect to backoff with 9 reconnect attempt(s)
0x00 概述
由于Elastic大版本7中xpack已经开源,可以直接配置使用,考虑将Elasticsearch6的集群全部升级为7;
0x01 过程
集群升级过程不表,容器日志是使用filebeat采集的,filebeat的docker镜像版本是6.8.5,发现pod日志直接报错,ES7的集群一直没收到pod发送过来的日志,报错日志如下:
# INFO pipeline/output.go:93 Attempting to reconnect to backoff(elasticsearch(http://192.28.254.21:29200)) with 9 reconnect attempt(s)
日志级别是INFO,github上也有类似的issue,初步怀疑是ES升级到7.8,对应的filebeat容器镜像也需要升级到7.8;
直接从国内镜像源拉取最新的filebeat7.8,docker push到repository,同时记得在如下配置加上ES7配置的账户和密码:
output.elasticsearch: hosts: ["192.25.254.21:19200","192.25.254.22:19200"] username: "zhelishiyonghuming" password: "zhelishimima"
建议直接清除logging名称空间内的ds,cm,filebeat pod,用更新的yaml文件重新启动filebeat7.8;
启动后,容器日志传输正常。
0x02 总结
根据Elastic的尿性,要升级应该进行全部组件升级,跨大版本的升级会出现各种莫名其妙的问题;
谨记,elastic生态圈版本升级,尽量所有组件一起升级,不要心存侥幸。