Day1: 怎样让Logstash每次都从头读文件?
Advent • 三斗室 发表了文章 • 1 个评论 • 12540 次浏览 • 2015-12-05 11:56
今天是 12 月 1 日,第一天,开天辟地,让我们也从最简单而又容易被忽略的一个小技巧开始吧!
每个上手 ELK 的新用户,肯定都需要测试一下读取文件输出到终端这步。在 Logstash 中,也就是配置这样一段:
input {
file {
path => ["/data/test.log"]
}
}
output {
stdout {
codec => rubydebug
}
}不过很多新人的测试随后就卡在第二步了:当你修改一下配置,准备添加一段 filter 配置再重复运行 logstash 命令时,发现终端一直停滞没有输出。这是因为:Logstash 会记录自己读取文件内容的偏移量到一个隐藏文件里,默认情况下,下次启动,他会从这个偏移量继续往后读,避免重复读取数据。
这个隐藏文件,叫做 $HOME/.sincedb_****。过去很多文档,在解释了这个原理后,都会告诉大家解决办法:每次重新运行 logstash 命令之前,删除掉家目录下的 sincedb 隐藏文件。
但是这种办法很笨,不是么?
今天告诉大家一个更方便的办法,改用下面这段 Logstash 配置:
input {
file {
path => ["/data/test.log"]
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output {
stdout {
codec => rubydebug
}
}要点就在这行 sincedb_path => "/dev/null" 了!该参数用来指定 sincedb 文件名,但是如果我们设置为 /dev/null这个 Linux 系统上特殊的空洞文件,那么 logstash 每次重启进程的时候,尝试读取 sincedb 内容,都只会读到空白内容,也就会理解成之前没有过运行记录,自然就从初始位置开始读取了!好了,第一天就是这样。更多内容,敬请期待。
想了解更全面的 ELK Stack 知识和细节,欢迎购买我的《ELK Stack权威指南》,也欢迎加 QQ 群:315428175 哟。
mapper-attachments这个插件怎么用啊
Elasticsearch • kangly 回复了问题 • 2 人关注 • 16 个回复 • 6288 次浏览 • 2016-11-11 10:34
elasticsearch logstash kibana beats 资料分享
资料分享 • abcdef 发表了文章 • 1 个评论 • 8960 次浏览 • 2015-12-02 14:40
请问kibana有中文版么?
Kibana • redfree 回复了问题 • 13 人关注 • 10 个回复 • 38289 次浏览 • 2018-01-25 14:10
es2.0 mapping删除的问题
Elasticsearch • redhat 回复了问题 • 5 人关注 • 2 个回复 • 9967 次浏览 • 2017-11-11 16:04
es 1.7.x版本下 可以往已有的mapping添加一个属性么?
Elasticsearch • wangjueying 回复了问题 • 2 人关注 • 2 个回复 • 5272 次浏览 • 2015-12-01 10:47
点击visualize的时候告警:Visualize:java.lang.lllegalStateException:Field daVisualize
Kibana • velion 回复了问题 • 2 人关注 • 2 个回复 • 16978 次浏览 • 2015-12-13 13:18
elasticsearch动态映射字段类型
Elasticsearch • medcl 回复了问题 • 3 人关注 • 1 个回复 • 6934 次浏览 • 2015-12-03 10:59
elasticsearch 启动错误
Elasticsearch • sddbdw 回复了问题 • 3 人关注 • 1 个回复 • 9862 次浏览 • 2015-11-28 16:39
携带有通配符的query_string查询结果解析问题
Elasticsearch • shiyuan 回复了问题 • 4 人关注 • 2 个回复 • 11776 次浏览 • 2017-04-04 21:42
3000多万的数据,想做实时统计,需要几台服务器?
Elasticsearch • lirong1978 回复了问题 • 3 人关注 • 2 个回复 • 5371 次浏览 • 2015-12-02 07:18
