【问题标题】:Logstash is putting old data in Elasticsearch. Can't clean Elasticsearch dataLogstash 将旧数据放入 Elasticsearch。无法清理 Elasticsearch 数据
【发布时间】:2015-03-24 20:34:00
【问题描述】:

我让 Logstash 从日志文件 status.log 中读取数据并将输出发送到 Elasticsearch 实例。

我想清理 Elasticsearch 中的数据,因为我正在执行 curl -XDELETE 'http://localhost:9200/index_name/_all'。如果我通过head插件检查,数据就没有了。

如果这还不够,我还将使用echo "" > status.log 清理日志文件。

当我再次执行应用程序时,旧数据重新出现在 Elasticsearch 中,但更新后的 @timestamp。数据不再出现在status.log 中。新数据已正确插入到 Elasticsearch 中。

我怎样才能摆脱旧数据?它仍然存储在 Elasticsearch 中还是 Logstash 有某种缓存?

【问题讨论】:

  • Logstash 不保留副本。从 Elasticsearch 中删除数据就足够了。想到的唯一想法是您有一个 status.log.00 (等),并且您的 logstash 模式也与该文件匹配。

标签: elasticsearch logstash purge


【解决方案1】:

假设您正在使用文件插件。如果您将 stdout 插件添加到输出部分,如下所示:

stdout { codec => rubydebug }

logstash 将在控制台上显示每个已处理的日志元素。当使用文件插件时,每个处理过的日志消息都会得到一个路径字段,告诉你是从 logstash 读取消息的。也许这可以帮助您找出消息的来源...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-10
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    相关资源
    最近更新 更多