Logstash 文件输入 : sincedb_path

标签 logstash logstash-file logstash-configuration

重新启动 Logstash 后,有时会观察到 Logstash 会重复日志事件。想知道什么是正确的申请方式start_position , sincedb_path , sincedb_write_interval配置选项。

  • 当同一位置有多个文件时会发生什么情况(如下例所示 /home/tom/testData/*.log)
  • 当文件轮换发生时会发生什么,例如 XXX.log文件重命名为XXX-<date>.log和一个新的XXX.log文件已创建。在这种情况下,名称不会改变,但 inode 会改变。

如果有人能对此有所启发,我将不胜感激。

input {
           file {
             path => "/home/tom/testData/*.log"
             type => "log"
             start_position => "beginning"
             sincedb_path => "/persistent/loc"        
             sincedb_write_interval => 10
               }
       }

最佳答案

start_position(开始或结束)仅用于logstash尚未看到的文件。使用“开始”的唯一原因是当您尝试加载较旧的文件时。

sincedb_path 只需是一个logstash 对注册表具有写权限的目录即可。

sincedb_write_interval 定义logstash 写入sincedb 注册表的频率。较大的值会让您面临 Logstash 崩溃的风险。

当您有多个与您的 glob 匹配的文件时,logstash 通过在注册表中包含多个条目来单独跟踪它们。

注册表包含 inode 号,因此logstash知道在这种类型的轮换中要做什么。

关于Logstash 文件输入 : sincedb_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29573097/

相关文章:

elasticsearch - 如何使用Logstash加载二进制文件

Logstash 将字段与数字进行比较

elasticsearch - Logstash 配置文件错误(Answer not working)

elasticsearch - Logstash筛选器-一半的json行解析

elasticsearch - 基于logstash中已转换的unix时间戳记的值的索引

elasticsearch - 带记录时间的ELK可视化

elasticsearch - 无法启动ElastAlert:仅支持pytz库中的时区

logstash - 如何在logstash配置文件中引用环境变量?

elasticsearch - 通过Logstash在大型数据集上加载Elasticsearch运行非常缓慢

elasticsearch - 找不到[@timestamp]的映射以对logstash进行排序