首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看日志记录?

如何查看日志记录?
EN

Stack Overflow用户
提问于 2016-05-19 06:22:59
回答 1查看 14.2K关注 0票数 3

对于我的企业应用程序分布式和结构化日志记录,我使用logstash进行日志聚合,使用elastic search作为日志存储。我有一个清晰的控件将日志从我的应用程序推送到logstash。另一方面,从逻辑库到弹性搜索都有很薄的控制。

假设,如果我的elasticsearch因某种愚蠢的原因而下降,logstash日志(/var/log/logstash/logstash.log)将记录的原因很清楚,如下所示。

代码语言:javascript
复制
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级别日志的通知或通知?

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 06:53:01

以下三个步骤应该是可行的:

1)取决于您希望如何得到通知。如果一封电子邮件就足够了,你可以使用Logstash 电子邮件输出插件。但是那里还有更多的输出插件可用。

2)为了限制某些事件,您可以在Logstash中执行类似的操作(示例取自弹性支持站点):

代码语言:javascript
复制
if [level] == "ERROR" {
  output {
     ...
  }
}

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

3)要使这项工作(而不是运行到日志记录周期),您需要以下两种方法:

  • 在您的系统上启动第二个Logstash实例(只是观察Logstash日志),从编写的这里中可以看出这一点。
  • 或者构建一个更复杂的配置,只使用一个Logstash实例。此配置必须将日志语句从您的应用程序转发到Elasitcsearch,而来自Logstash错误日志的日志标记被转发到例如Logstash电子邮件输出插件。

附带注意:您可能想看看Filebeat,它非常适合Logstash (它也来自弹性),它甚至比Logstash更轻。它允许像include_lines: ["^ERR", "^WARN"]这样的东西出现在您的配置中。要接收来自Filebeat的输入,您必须采用配置将数据发送到Logstash,对于Logstash,您必须激活并使用所描述的这里的Beats输入插件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37315328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档