[英]ELK logstash cant create index in ES
按照這個教程( https://www.bmc.com/blogs/elasticsearch-logs-beats-logstash/ )為了使用logstash分析一些日志文件,我的索引第一次創建得很好,然后我想要使用新過濾器和新存儲庫重新索引新文件,所以我通過“curl XDELETE”刪除了索引,現在當我重新啟動 logstash 和 filebeat 時,不再創建索引..啟動組件時我沒有看到任何錯誤。 我是否需要刪除其他內容才能重新創建我的索引?
好的,因為我的猜測(見評論)是正確的,下面是解釋:
為了避免 filebeat 一遍又一遍地讀取和發布文件的行,它使用注冊表來存儲收割機的當前狀態:
注冊表文件存儲 Filebeat 用來跟蹤上次讀取位置的狀態和位置信息。
正如您所說,filebeat 成功收集了文件,將行發送到 logstash,logstash 將事件發布到創建所需索引的 elasticsearch。 由於 filebeat 更新了其注冊表,因此無需收集更多行,因此即使您刪除了索引,也不會再次將事件發布到 logstash。 當您插入一些新行時,filebeat 會重新打開收割機並僅將新行(在“注冊表檢查點”之后)發布到 logstash。
注冊表文件的默認位置是${path.data}/registry
(參見Filebeat 的目錄布局概述)。
...也許 curl api 調用不是重新啟動索引的最佳解決方案
這與刪除索引無關。 刪除索引發生在 elasticsearch 內部。 Filebeat 對您在 elasticsearch 中的操作一無所知。
問:有沒有辦法根據舊日志重新創建索引?
是的,您應該考慮以下一些方法:
希望我能幫到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.