关闭

logstash 学习二 input 配置

标签: logstash
78人阅读 评论(0) 收藏 举报
分类:

在 “helloword” 示例中,我们对 logstash 有了个简单的了解。logstash配置 有一个简单的原则:logstash 一定要有一个input 和一个output . 这章的主要目标是 输入插件 input .

先给个配置

input {
    file {
        type => "access_u_ex"
        #添加自定义字段
        add_field => {"fromhost" => "EIR"}
        #监听文件的路径
        path => "D:/java/logs/test/test1*"
        #排除不想监听的文件
        exclude => "test13.log"
        # 监听文件的起始位置
        start_position => "beginning" 
        #增加标签
        #tags => "tag1" 
        #设置多长时间扫描目录,发现新文件
        #discover_interval => 15        
        #设置多长时间检测文件是否修改
        #stat_interval => 1

        codec => multiline {
            charset => "GB2312"
            patterns_dir => ["d:/java/logstash-2.3.4/bin/patterns"]
            pattern => "^%{SECOND_TIME}"
            negate => true
            what => "previous"
        }
    }
}

从上到下,解释下配置参数的含义。

  • file : 读取文件 。
    path : 日志文件绝对路径(只支持文件的绝对路径)。
    type : 定义类型,以后的filter 、output 都会用到这个属性。
    add_field : 添加字段 ,尽量不要与现有的字段重名。重名的话可能会有不同错误出现。
    start_position : 从什么位置开始读取文件,默认是结束位置。如果要导入原有数据,把这个设定改为beginning .
    discover_interval : 设置多长时间检查一个被监听的path 下面是否有新文件。默认时间是15 秒 .
    exclude : 不想监听的文件排除出去。
    stat_interval : 设置多久时间检查一次被监听的文件(是否有更新),默认是1秒 。

    说明
    1、 有时候path可能需要配置多个路径 :

      path => ["D:/java/logs/test/test1*" ,"D:/java/logs/test/test2*"]
   2、 add_field 添加字段时,想判断要添加的字段是否存在,不存在时添加
      if ![field1]{
          mutate{
            add_field => {"field1" => "test1"}
          }
      } 
  • codec 编码插件
    logstash 实际上是一个input | codec | filter | codec | output 的数据流。codec 是用来decode 、 encode 事件的 。

  • Multiline 合并多行数据
    Multiline 有三个设置比较重要 : pattern 、negate 、what .

    pattern  :  必须设置 ,String 类型 ,没有默认值。匹配的是正则表达式。上面 配置中 的含义是 : 通过SECOND_TIME 字段与日志文件匹配,判断文件开始位置。
    negate : boolean 类型 ,默认为false . 如果没有匹配,否定正则表达式。
    what    :  必须设置,可以设置为 previous 或  next .  (ps: 还没弄清楚两者之间的关系,目前我用的都是 previous ) 。
    

    根据上面的配置,还有两个设置 : charset 、patterns_dir 。

        charset : 一般都知道是编码 ,这个就不多说了 。
        patterns_dir : 从配置中看到的是一个 文件路径 。习惯,我会在 创建这么个文件:logstash-2.3.4/bin/patterns 。里面还有一个叫 j2ee  的文件 ,里面是日志的配置规则 ,用来解析日志文件。 
    
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6289次
    • 积分:316
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:5篇
    • 译文:1篇
    • 评论:0条
    文章分类