![如何查看 filebeat 数据是否正在发送到 logstash](https://linux22.com/image/697093/%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%20filebeat%20%E6%95%B0%E6%8D%AE%E6%98%AF%E5%90%A6%E6%AD%A3%E5%9C%A8%E5%8F%91%E9%80%81%E5%88%B0%20logstash.png)
当我打开 Kibana 界面时,输入 logstash-* 作为查询时出现配置索引错误:
kibana 错误:请指定默认索引模式
我如何查看 filebeat 是否正在将日志发送到 logstash?我完全按照 filebeat 和 ELK 堆栈教程进行操作。当我在 Kibana 中输入 filebeat-* 时,我可以看到数据,但当我在 Kibana 中输入 logstash-* 时,什么都没有。
答案1
Filebeat 会保留已发送到 logstash 的信息。检查 ~/.filebeat(针对运行 filebeat 的用户)。
您还可以在 filebeat 中启动调试,它将向您显示信息何时被发送到 logstash。
编辑:根据新信息,请注意您需要告诉 filebeat 它应该使用哪些索引。转到“设置”选项卡并在那里配置索引模式。以下是文档。
答案2
如果你遵循官方 Filebeat 入门指南并且正在将数据从 Filebeat -> Logstash -> Elasticesearch 路由,那么 Filebeat 生成的数据应该包含在索引中filebeat-YYYY.MM.dd
。它使用filebeat-*
索引而不是索引,logstash-*
以便它可以使用自己的索引模板并对该索引中的数据拥有独占控制权。
因此,在 Kibana 中,您应该基于索引filebeat-*
模式而不是配置基于时间的索引模式logstash-*
。或者,您可以运行import_dashboards
Filebeat 提供的脚本,它会为您在 Kibana 中安装索引模式。脚本的路径import_dashboards
可能因您安装 Filebeat 的方式而异。这适用于通过 RPM 或 deb 安装的 Linux。
/usr/share/filebeat/scripts/import_dashboards -es http://localhost:9200
您可以使用 curl 命令检查数据是否包含在filebeat-YYYY.MM.dd
Elasticsearch 中的索引中,该命令将打印事件计数。
curl http://localhost:9200/filebeat-*/_count?pretty
如果 Elasticsearch 中没有事件,您可以检查 Filebeat 日志以查找错误。Linux/var/log/filebeat/filebeat
上的日志默认位于。您可以通过logging.level: debug
在配置文件中设置来增加详细程度。
答案3
如果使用 RPM 或 DEB 包安装 Filebeat:
日志默认存储在 journald 中。要查看日志,请使用 journalctl:
journalctl -u filebeat.service
更多信息请访问Filebeat 日志
答案4
您还可以检查文件夹内的文件
/etc/log/filebeat/
也许
tail -f filebeat