u014473112
soputasmile11
2018-01-11 03:10
采纳率: 66.7%
浏览 6.6k
已采纳

Logstash 读取日志文件,增量

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 2018-01-12 01:19
    已采纳

    图片说明

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

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

    点赞 评论
  • airfling
    airfling 2018-01-11 06:13

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

    点赞 评论
  • h6933jing
    h6933jing 2018-01-15 02:16

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

    点赞 评论
  • xiaoyu_BD
    桃花惜春风 2018-04-24 11:59

    end改beginning,忘采纳

    点赞 评论
  • weixin_36653369
    CodingW 2018-08-03 08:40

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

    点赞 评论
  • u011328044
    正在掉线中 2018-08-10 03:10

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

    点赞 评论
  • chunli200902520208
    chunli200902520208 2020-06-23 20:41

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

    点赞 评论

相关推荐