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