[英]When using the Sensu Handler for Elasticsearch, the logs are overwritten
我在GitHub上找到了一个sensu处理程序,用于将数据传送到elasticsearch。 可以在这里https://github.com/m4ce/sensu-handlers-elasticsearch看到。 我已配置此处理程序以将keepalive事件发送到Elasticsearch。 生成严重事件时,日志显示在Elasticsearch中。 但是,解决此事件后,关键日志将被覆盖并替换为已解决的日志。我需要同时跟踪关键和已解决的日志,因此我无法覆盖任何日志。 是否有人遇到过同样的问题,或者有人知道如何解决此问题?
谢谢,
上午
Sensu处理程序要发布到的URI是:
<elasticsearch_url>/<index>/<type>/<document_id>
(您可以在构建URI的处理程序的第53行上看到这一点)
哪里:
<elasticsearch_url>
是--url
参数。 <index>
是--index
参数。 <type>
是--type
参数。 <document_id>
是Sensu事件的id
字段。 关于这为什么以您描述的方式发生有两点需要注意:
status
如何,Sensu事件将始终具有相同的ID。 _id
字段)的现有文档。 似乎您每次Sensu都在寻找唯一的Elasticsearch文档,这仅仅是修改Sensu处理程序以写入具有真正唯一<document_id>
而不是Sensu事件唯一的URL的问题。 如果您允许,Elasticsearch将自动处理生成唯一的文档ID。 这意味着您应该能够通过以下方式修改处理程序的第53行来轻松解决此问题:
uri = URI("#{config[:url]}/#{index}/#{config[:type]}/#{@event['id']}")
至:
uri = URI("#{config[:url]}/#{index}/#{config[:type]}")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.