首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sensu Handler for Elasticsearch时,日志将被覆盖

使用Sensu Handler for Elasticsearch时,日志将被覆盖
EN

Stack Overflow用户
提问于 2017-04-24 05:21:39
回答 1查看 202关注 0票数 0

我在GitHub上找到了一个sensu处理程序,用于将数据发送到elasticsearch。可以在这里看到https://github.com/m4ce/sensu-handlers-elasticsearch。我已经将此处理程序配置为向Elasticsearch发送keepalive事件。当生成关键事件时,日志会出现在Elasticsearch中。但是,在解决此事件时,关键日志将被覆盖,并替换为已解决的日志。.I需要同时跟踪关键日志和已解决的日志,因此不能覆盖任何日志。有没有人遇到过同样的问题,或者有谁知道如何解决这个问题?

谢谢,

上午

EN

回答 1

Stack Overflow用户

发布于 2017-05-09 20:32:53

Sensu处理程序被POSTing到的URI是:

<elasticsearch_url>/<index>/<type>/<document_id>

(您可以在构建URI的处理程序的第53行看到这一点)

其中:

  • <elasticsearch_url>是Sensu事件的parameter.
  • <index> is --index --type是Sensu事件的id字段。

关于为什么会以您所描述的方式发生,有两点需要注意:

  1. 无论事件的status是什么,都将始终具有相同的ID。
  2. 在Elasticsearch中,POSTing文档将覆盖具有相同ID的现有文档(在Elasticsearch中为_id字段

看起来您要为每个Sensu事件寻找一个唯一的Elasticsearch文档,这只需要修改Sensu处理程序以写入具有真正唯一的<document_id>的URL,而不是Sensu事件唯一的URL。Elasticsearch将自动生成唯一的文档ID,如果您允许的话。这意味着您应该能够相当容易地解决这个问题,只需修改处理程序的第53行:

uri = URI("#{config[:url]}/#{index}/#{config[:type]}/#{@event['id']}")

至:

uri = URI("#{config[:url]}/#{index}/#{config[:type]}")

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

https://stackoverflow.com/questions/43576625

复制
相关文章

相似问题

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