Elasticsearch 集群中的文档在 Grafana 中出现两次

Elasticsearch 集群中的文档在 Grafana 中出现两次

我设置了一个 Elasticsearch 集群,其中包含一个专用主​​节点、两个主合格数据节点和一个协调节点。副本数设置为 1。

Logstash 中有两个管道,每个管道都从防火墙接收系统日志消息,将其转换为 JSON 并将其输入到任一数据节点中。我没有为文档明确生成 UUID。

Grafana 连接到协调节点以从集群中提取数据。

到目前为止一切顺利。但我注意到在 Grafana 中,我看到每个文档两次。我认为这是不正确的,但我不知道问题可能是什么。

我检查了 Logstash 的输出,没有发现任何副本,所以我猜想重复发生在集群中。有人能给我提示一下吗?在索引之前我必须为文档添加 ID 吗?

谢谢,亨利

答案1

事实证明我误解了 Logstash 的工作原理。

将两个配置文件放入 logstash“conf.d”目录 [1] 中,其中包含“input {}”、“filter {}”和“output{}”部分不是意味着你运行两条管道。

相反,Logstash 合并了该目录中的所有文件,现在发现了两个单独的 elasticsearch 输出插件。这就是它将所有文档写入我的两个 ES 节点的原因。当我之前测试时,我只查看了其中一个输出,这就是为什么我没有看到重复项。

仅仅添加一个明确的文档 ID 并不是解决方案,而只是一种非常糟糕的解决方法,因为每个文档都会被数据库存储并立即覆盖,造成巨大的资源浪费。

我现在只使用一个配置文件,其中包含两个输入、一个过滤器和一个 ES 输出,并且主机参数中有两个节点。

希望这对遇到类似问题的人有所帮助。

问候,亨利

[1].deb 包

相关内容