gpt4 book ai didi

elasticsearch - 如何查看logstash日志?

转载 作者:行者123 更新时间:2023-12-02 22:39:18 32 4
gpt4 key购买 nike

对于我的企业应用程序分布式和结构化日志记录,我使用 logstash 进行日志聚合,使用 elastic search 作为日志存储。我可以清楚地控制将日志从我的应用程序推送到 logstash。另一方面,从 logstash 到具有非常薄控制的 Elasticsearch 。

假设,如果我的 elasticsearch 由于一些愚蠢的原因而宕机,logstash 日志 (/var/log/logstash/logstash.log) 会清楚地记录原因,例如下一个。

Attempted to send a bulk request to Elasticsearch configured at '["http://localhost:9200/"]', but Elasticsearch appears to be unreachable or down! {:client_config=>{:hosts=>["http://localhost:9200/"], :ssl=>nil, :transport_options=>{:socket_timeout=>0, :request_timeout=>0, :proxy=>nil, :ssl=>{}}, :transport_class=>Elasticsearch::Transport::Transport::HTTP::Manticore, :logger=>nil, :tracer=>nil, :reload_connections=>false, :retry_on_failure=>false, :reload_on_failure=>false, :randomize_hosts=>false}, :error_message=>"Connection refused", :class=>"Manticore::SocketException", :level=>:error}

对于来自 logstash 的 error 级别的日志,我如何得到注意或通知?

最佳答案

应该可以通过以下 3 个步骤完成:

1) 取决于您希望如何获得通知。如果电子邮件就足够了,您可以使用 Logstash email output-plugin .但是there有更多可用的输出插件。

2) 要限制某些事件,您可以在 Logstash 配置中执行类似的操作(示例取自 Elastic 支持 site ):

if [level] == "ERROR" {
output {
...
}
}

if 子句不限于您的 JSON 的级别字段;当然,您可以将它应用于您的任何 JSON 字段,这使它更加强大。

3) 要使这项工作正常进行(而不是进入日志记录周期),您需要:

  • 在您的系统上启动第二个 Logstash 实例(只需观察 Logstash ERROR 日志),根据所写内容应该没问题 here

  • 或者您构建更复杂的配置,仅使用一个 Logstash 实例。此配置必须将日志语句从您的应用程序转发到 Elasitcsearch,同时将来自 Logstash 错误日志的日志语​​句转发到例如Logstash 电子邮件输出插件。


旁注:您可能想看看 Filebeat,它与 Logstash(它也来自 Elastic)配合得很好,而且比 Logstash 更轻量级。它允许在您的配置中使用 include_lines: ["^ERR", "^WARN"] 之类的东西。要从 Filebeat 接收输入,您必须采用配置将数据发送到 Logstash,对于 Logstash,您必须激活并使用描述的 Beats 输入插件 here .

关于elasticsearch - 如何查看logstash日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315328/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com