首页 > 解决方案 > Logstash 自动更新数据

问题描述

我正在使用最新版本的 logstash(7.6.2)。我尝试上传示例数据,并能够使用 logstash(启用自动重新加载)成功将其上传到 elasticsearch,并且能够在 Kibana 界面中看到索引。

但是,当我对以下配置文件进行更改时,我无法在 Kibana 界面中看到更新的数据。我试图删除 mutate 过滤器插件并重新加载 logstash 管道,但 Kibana 中的数据未更新。有趣的是,它没有抛出任何错误。

示例.conf

input{
file{
    path => "/usr/local/Cellar/sample.log"
    start_position => "beginning"
}
}

filter{
    grok{
        match => ["message", "%{TIMESTAMP_ISO8601:timestamp_string}%{SPACE}%{GREEDYDATA:line}"]
    }
    date{
        match => ["timestamp_string", "ISO8601"]
    }
    mutate{
        remove_field => [message, timestamp_string]
    }
}
output{
elasticsearch{
    hosts => ["localhost:9200"]
    index => "sample"
}
stdout{
    codec => rubydebug
}
}

任何帮助在这里表示赞赏。TIA

PS - 我是 ElasticSearch 的新手!

标签: logstashlogstash-configuration

解决方案


如果你想再次解析一个完整的文件,你需要:

  • 删除 sindedb 文件
  • 或者只删除 sincedb 文件中的对应行

然后,重新启动 Logstash。Logstash 将重新解析文件。

欲了解更多信息:https ://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html#sincedb_path


推荐阅读