logstash处理文件进度记录机制

2017-01-13 15:05:10来源:csdn作者:wangyangzhizhou人点击

第七城市
假如使用如下配置处理日志input {
file {
path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-*.log"
start_position => "beginning"
type => "sql"
codec => json {
charset => "UTF-8"
}
}
}
output {
if "_grokparsefailure" in [tags] {
}else{
if [type] == "sql"{
elasticsearch {
hosts => ["http://192.168.33.10:9200"]
index => "common-sql-%{+YYYY.MM.dd}"
}
}
}
}

所有匹配common-sql-*.log的文件都将被处理


第一次从头开始处理文件


处理后以json格式输出到elasticsearch


logstash如何记录处理进度?
第一次运行logstash时从头处理文件,假如此时有两个文件匹配上则按顺序开始处理文件。
logstash处理过程中不断将每个文件处理的进度写入到某个地方,这就是sincedb。
sincedb一般以隐藏文件默认写到home目录下面,文件名类似.sincedb_6268051ae572b42bd86b7f9e8c1e004b。
sincedb的格式为inode majorNumber minor Number pos。每行记录每个文件处理进度,比如下面的例子,表示inode为177037的文件处理到25951716位置、inode为176956的文件处理到32955178位置。
177037 0 64768 25951716
176956 0 64768 32955178用stat看看这两个文件inode信息。可以看到两个文件都已经处理完了。如果没处理完关闭了logstash则会在下次启动时继续处理。
[vagrant@hb-localhost ~]$ stat logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-2016-11-24.log
File: `logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-2016-11-24.log'
Size: 32955178Blocks: 64368IO Block: 4096 regular file
Device: fd00h/64768dInode: 176956Links: 1
Access: (0664/-rw-rw-r--)Uid: (501/ vagrant) Gid: (501/ vagrant)
Access: 2016-11-24 02:08:19.058506565 +0000
Modify: 2016-11-24 01:46:14.000000000 +0000
Change: 2016-11-24 02:05:06.194122690 +0000
[vagrant@hb-localhost ~]$ stat logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-2016-11-23.log
File: `logstash/logstash-2.2.2/dbpool-logs/dev/common-sql-2016-11-23.log'
Size: 25951716Blocks: 50688IO Block: 4096 regular file
Device: fd00h/64768dInode: 177037Links: 1
Access: (0664/-rw-rw-r--)Uid: (501/ vagrant) Gid: (501/ vagrant)
Access: 2016-11-24 02:15:28.217978771 +0000
Modify: 2016-11-23 13:19:16.000000000 +0000
Change: 2016-11-24 02:15:27.913826772 +0000如果往这两个文件追加日志则将往下继续处理,而且也会将进度更新到sincedb文件中。
如果处理完了关闭logstash,下次再启动时则不会再从头开始处理,因为sincedb已经记录了进度,不要以为start_position => “beginning”就是每次都从头处理,如果把sincedb文件删了又会从头开始处理。
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台