码迷,mamicode.com
首页 > 其他好文 > 详细

了解Logstash输入插件

时间:2016-07-19 11:35:55      阅读:401      评论:0      收藏:0      [点我收藏+]

标签:elk   logstash   elk stack   

  输入插件是Logstash从特定的数据源读取数据,Logstash可用插件包括,详情可见这里,下面说一些常见的输入插件:


  stdin插件:标准的输入插件,能够从命令行中读取事件。


  可选配置:

    add_field    hash(哈希)   {}

    codec         codec             “line”

    tags            array(数组)

    type            string(字符串)


  file插件Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 logstash 会漏过你的数据。


 sincedb 文件中记录了每个被监听的文件的 inode, major number, minor number 和 pos。


  示例:

input
    file {
        path => ["/var/log/*.log", "/var/log/message"]
        type => "system"
        start_position => "beginning"
    }
}


  通常你要导入原有数据进 Elasticsearch 的话,你还需要 filter/date 插件来修改默认的"@timestamp" 字段值。


  FileWatch 只支持文件的绝对路径,而且会不自动递归目录。所以有需要的话,请用数组方式都写明具体哪些文件。

 

  LogStash::Inputs::File 只是在进程运行的注册阶段初始化一个 FileWatch 对象。所以它不能支持类似 fluentd 那样的 path => "/path/to/%{+yyyy/MM/dd/hh}.log" 写法。达到相同目的,你只能写成 path => "/path/to/*/*/*/*.log"。


  logstash 每隔多久去检查一次被监听的 path 下是否有新文件。默认值是 15 秒。

  logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。

  logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。


  generator:生成数据组件,用来生成测试数据最好用。


本文出自 “这个人的IT世界” 博客,请务必保留此出处http://favccxx.blog.51cto.com/2890523/1827456

了解Logstash输入插件

标签:elk   logstash   elk stack   

原文地址:http://favccxx.blog.51cto.com/2890523/1827456

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!