0

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

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

如果这还不够,我还将使用echo "" > status.log.

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

如何摆脱旧数据?它仍然存储在 Elasticsearch 中还是 Logstash 有某种缓存?

4

1 回答 1

1

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

stdout { codec => rubydebug }

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

于 2015-03-24T12:34:00.980 回答