2015-10-15 55 views
1

我想在bosun中发出警报,它将检查logstash中的“级别:致命”消息并在每次发生唯一消息x主机组合时发出警报。为了使它有用,它应该通过'message'和'host'标签对警报进行分组,并报告这些标签在模板中的值。我lscount查询看起来是这样的:Bosun Logstash集成 - 如何获取完整的消息字段

$fatal_log_rate = lscount("logstash","message,host","level:fatal", "5m", "5m", "") 

我的问题是运行在水手长此警报的时候,而不是由消息字段的全部分组像我想,它被分解单个消息的消息字段分成许多组。它看起来像是分裂在空格,冒号,换行符,括号和等号。例如,如果我的信息是:

message: There was an error at: org.abc.Class:42. 
      ABC Component failed (reason=300) 

从lscount输出所得水手长以上会给我含有信息“有”,“是”,“一个”,“错误”,“在” 12组, “org.abc.Class”,“42”,“abc”,“component”,“failed”,“reason”,“300”。

按主机分组也不如预期,虽然这是分裂的第一期。例如,我们的主机名可能是core2.abc.xyz.net,但上述lscount的结果分为host=core2host=abc.xyz.net

是否有任何方法将全部或部分消息字段进行分组,然后获取完整消息字段以在模板中进行报告?

回答

相关问题