elasticsearch 自写入间隔以来的日志存储,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 自写入间隔以来的日志存储,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 自写入间隔以来的日志存储

elasticsearch 自写入间隔以来的日志存储,elasticsearch,logstash,elasticsearch,Logstash,Logstash使用sincedb文件来存储它在处理文件时所处的位置。如果在处理完成之前显示logstash关闭,则可以使用sincedb从停止处继续 在Windows上运行时,观察到的行为是只有在logstash关闭时才写入sincedb文件。这意味着,如果正在运行的机器logstash被终止,并且logstash自己的关闭例程未被调用,则不会写入sincedb文件 将sincedb\u write\u interval设置为不同的值似乎没有任何区别。即使使用此设置,sincedb仅在logs

Logstash使用
sincedb
文件来存储它在处理文件时所处的位置。如果在处理完成之前显示logstash关闭,则可以使用
sincedb
从停止处继续

在Windows上运行时,观察到的行为是只有在logstash关闭时才写入
sincedb
文件。这意味着,如果正在运行的机器logstash被终止,并且logstash自己的关闭例程未被调用,则不会写入
sincedb
文件

sincedb\u write\u interval
设置为不同的值似乎没有任何区别。即使使用此设置,
sincedb
仅在logstash终止或关闭时写入

下面是logstash配置的基本结构。 我们是否以错误的方式使用了
sincedb\u write\u interval

谢谢

{
   file {
      path => "..."
      sincedb_write_interval => 10
   } 
}

output {
   elasticsearch {
     host => "..."
     index => "..."
     protocol => "http"
     cluster => "..."
  }
}

你正确地使用了它


但是,默认值为15秒,因此您不应该出现问题。可以使用一些测试输入运行,然后等待一分钟并发布您的sincedb?

当Logstash试图决定是否从上次读取中提取时,sincedb_write_间隔很重要


如果您执行“sincedb_write_interval=>NULL”,Logstash将重新解析整个文件,即使它以前已经解析过它。

我使用的是非常旧的Logstash,1.4.2。但是有同样的问题。唯一有效的值是“1”。默认值15不起作用,除“1”之外,没有其他值也不起作用。 sincedb\u写入间隔=>1 将其设置为“1”,将立即更新sincedb