【发布时间】:2022-05-03 05:03:20
【问题描述】:
对于我的企业应用程序分布式和结构化日志记录,我使用logstash 进行日志聚合和elastic search 作为日志存储。我有明确的控制将日志从我的应用程序推送到logstash。另一方面,从 logstash 到弹性搜索的控制非常薄。
假设,如果我的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 级别日志,我将如何获得注意或通知?
【问题讨论】: