我按照本教程进行操作,设置工作得很好。然后我从这个官方文档安装了 ES 的 watcher 插件,以获取错误警报和电子邮件,但我无法使用以下命令验证安装,如链接所示。
curl -XGET ' http://localhost:9200/_watcher/stats?pretty '
然后我再次检查了我的 kibana 仪表板,nginx 向我显示了 502 - bad gateway 错误。我再次检查了配置文件,但在 nginx 方面一切都很好(我对 nginx 不太熟悉,所以这部分是假设)。所有五项服务(Logstash、Kibana、ES、logstash-server 上的 nginx 和客户端上的 logstash-forwarder 都已启动并运行)。
进一步调查,我发现使用以下命令:
tail -f /var/log/logstash-forwarder/logstash-forwarder.err
有如下错误:
无法通过 XXXX 读取 tcp XXXX:5000 进行 tls 握手:i/o 超时
连接到 [XXXX]:5000 (example.com)
我尝试了什么:
我尝试从 LF 机器远程登录到 LS 服务器机器,我可以做到。我在 LF GitHub 存储库上检查了这个问题,似乎插件安装存在一些问题,结论是在 logstash 服务器端的 server.rb 文件中进行以下更改:
def data(sequence, map, &block)
puts sequence
puts map
block.call(map)
#if (sequence - @last_ack) >= @window_size
@fd.syswrite(["1A", sequence].pack("A*N"))
@last_ack = sequence
#end
end
所以这是我的问题:
- 问题是否真的是由于插件安装而发生的(GitHub问题上的一个意见是这样说的)?
- 我找不到 server.rb 文件。它的具体位置在哪里?
- 问题与教程中的 nginx 设置有关吗?
- 有没有更好的 ES 警报插件/包?
感谢您对其中任何一个的帮助。
更新:卸载 watcher 插件可以让一切顺利运行。
所以我想问题确实出在插件上(我还没有想出解决方法。)而不是 nginx 或 ssl。