小编Dan*_*ite的帖子

如何最好地监控logstash?

我在邮件列表上看到过这个问题几次,但没有一个满意的答案。

如何最好地监控管道没有卡住?客户端 -> logstash -> elasticsearch。

Logstash 尤其是 elasticsearch 容易出现资源匮乏。他们都非常擅长从他们离开的地方开始,但是人们究竟是如何观察他们的观察者的呢?

欢迎提出意见。

monitoring elasticsearch logstash

8
推荐指数
1
解决办法
5062
查看次数

当事件没有发生时,管理员如何概括警报?

我的用户经常要求我负责知道事件是否没有发生。

我总是不得不使用 cron'ed shell 脚本和大量日期边缘案例测试来构建自定义和脆弱的解决方案。

集中式日志记录应该提供一种更好、更易于维护的方式来掌握过去 N 小时内发生的事情。像logstash通知和nagios警报之类的东西。

更新

toppledwagon 的回答非常有帮助。o O(灯泡。)我现在有十几个批处理作业正在检查新鲜度。我想彻底公正地回答他,并跟进我如何实施他的想法。

我将 jenkins 配置为发出系统日志,logstash 捕获它们并通过 nsca 将状态更新发送到 nagios。我还使用 check_mk 使所有内容保持干燥并在 nagios 中组织起来。

Logstash 过滤器

:::ruby
filter {
  if [type] == "syslog" {
    grok {
      match => [ "message", '%{SYSLOGBASE} job="%{DATA:job}"(?: repo="%{DATA:repo}")?$',
                 "message", "%{SYSLOGLINE}" ]
      break_on_match => true
    }
    date { match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ] }
  }
}
Run Code Online (Sandbox Code Playgroud)

神奇之处在于 grok 的 match 参数中的那对双模式以及 break_on_match => true。Logstash 将依次尝试每个模式,直到其中一个匹配。

Logstash 输出

我们使用 logstash …

monitoring nagios syslog logstash

6
推荐指数
1
解决办法
3351
查看次数

标签 统计

logstash ×2

monitoring ×2

elasticsearch ×1

nagios ×1

syslog ×1