u014473112
soputasmile11
采纳率66.7%
2018-01-11 03:10

Logstash 读取日志文件,增量

5
已采纳

input {
file {
path => "/usr/local/elk/mos-log/mt.log"
type => "mos-mt-log"
codec => multiline {
pattern => "^["
negate => true
what => "next"
}
start_position => "end"
}
file {
path => "/usr/local/elk/mos-log/rpt.log"
type => "mos-rpt-log"
codec => multiline {
pattern => "^["
negate => true
what => "next"
}
start_position => "end"
}
}

这是conf文件中的input,再我每往日志文件手动添加一条日志时,logstash总是从头读取一遍,怎么样使logstash只去读取我新添加的日志

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • datadev_sh datadev_sh 3年前

    图片说明

    start_position 参数放在file的括号里面,你放在了外面

    参考:http://blog.csdn.net/datadev_sh/article/details/79040318

    点赞 评论 复制链接分享
  • u011328044 正在掉线中 3年前

    不能手动添加数据 如果测试 linux用 echo "222">> 文件名

    点赞 评论 复制链接分享
  • weixin_36653369 CodingW 3年前

    你好,你这个问题解决了吗,为什么我改成start_position => "beginning"还是不行,仍然每次都是从头读取

    点赞 评论 复制链接分享
  • h6933jing h6933jing 3年前

    logstash的file input默认就是读取最后一行的,并且logstash启动后会记录读取位置,只会读取文件末尾新增的记录。
    经过我的测试,如果使用vi的方式往文件里写,是有可能出现读取行数和位置不固定的情况,但是如果用echo “” >>的方式,可以保证只读取最后添加的一行、
    你的start_position写的位置是错误的。

    点赞 评论 复制链接分享
  • xiaoyu_BD 桃花惜春风 3年前

    end改beginning,忘采纳

    点赞 评论 复制链接分享
  • airfling airfling 3年前

    你使用filebeat,也可以使用logstash中的filebeat插件,或者使用flume

    点赞 评论 复制链接分享
  • chunli200902520208 chunli200902520208 10月前

    日志组件按照每天的日期产生文件夹,写入日志;如何将这些文件夹下的日志写入logstash ,如何批准

    点赞 评论 复制链接分享

相关推荐