美文网首页
记一次日志采集问题:logstash没有向ES写入数据

记一次日志采集问题:logstash没有向ES写入数据

作者: 旻璿 | 来源:发表于2021-03-30 14:05 被阅读0次

4.13更新

又出现了数次这样的问题,觉得不应该是es问题,又重新分析发现是修改过Logstash的配置文件,增加了日志的grok处理,导致logstash的处理速度跟不上kafka生产数据的速度,进而积压了数据。
看来还需要再优化。

===================以下是原分析================

背景

某天突然日志审计系统不能采集数据,表现为查不到最近1小时的日志。
日志写入ES有几条通路:
1、WebServer API接口服务->kafka集群->logstash->ES集群
2、filebeat syslog 514端口->kafka集群->logstash->ES集群
3、filebeat采集nginx日志目录/var/log/nginx/access.log->kafka集群->logstash->ES集群
4、metricbeat、auditbeat采集系统日志->kafka集群->logstash->独立ES节点(系统监控日志)
前三条通路都无法采集到数据,而第四条通路时而能采集到数据,时而不行。

思路

首先想定位出是哪个地方出了问题
1、先验证kafka集群的状态。
用命令行消费消息:
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.180:9092 --from-beginning --topic testtopic
验证结果:能正常的收到日志数据。说明kafka集群状态正常。
2、接着验证logstash输出是否正常
将logstash的配置文件做修改,
output {
stdout {
codec => rubydebug # 将日志输出到当前的终端上显示
}
}
查看输出结果,也是正常的。
3、最后,检查ES集群
重启ES集群发现主节点报错如下
[2020-09-01T15:59:41,129][ERROR][o.e.x.s.a.e.ReservedRealm] [node-3] failed to retrieve password hash for reserved user [elastic]
org.elasticsearch.action.UnavailableShardsException: at least one primary shard for the index [.security-7] is unavailable
参考这篇文章:https://blog.csdn.net/qq_25934401/article/details/108344875
依旧没有。
4、最后重建索引发现是前几天有一次es集群离线,Kafka日志消息积压过多,导致数据恢复较慢。耐心等待1小时,恢复了。。。

相关文章

网友评论

      本文标题:记一次日志采集问题:logstash没有向ES写入数据

      本文链接:https://www.haomeiwen.com/subject/pedwhltx.html