[英]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.