logstash 学习二 input 配置

原创 2016年08月29日 17:19:08

在 “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  的文件 ,里面是日志的配置规则 ,用来解析日志文件。 
    

logstash-input-jdbc-4.2.3离线安装包

  • 2017年10月11日 18:39
  • 2.12MB
  • 下载

logstash_input_jdbc

  • 2017年07月21日 15:34
  • 20KB
  • 下载

ElasticSearch学习笔记(五)在logstash中配置分词器和同义词过滤器

在logstash中配置分词器和同义词过滤器 ik+pinyin分词器 同义词过滤器

ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件

logstash安装和logstash-input-jdbc插件

elasticSearch数据导入工具logstash-input-jdbc 同步原理及相关问题解读

基于logstash-input-jdbc较其他插件的稳定性、易用性、版本和ES同步更新的特点,以下研究主要针对 logstash-input-jdbc 展开。 针对logstash-input-j...

[logstash-input-file]插件使用详解

基本上是必用的插件! 转载自:http://www.cnblogs.com/xing901022/p/4805586.html [logstash-input-file]插件使用详...

用Logstash中的Jdbc input plugin将mysql数据导入ES

1. 在CentOS上安装logstash5.5: 参考这篇文章。 只是这文章比较久了,现在有些变化,我还是把过程写下来: 1,下载logstash5.5.1 curl -O https:/...

Logstash详解之——input模块

阅读原文请点击 摘要: Logstash由三个组件构造成,分别是input、filter以及output。我们可以吧Logstash三个组件的工作流理解为:input收集数据,filter处...

写程序很难之logstash之file input插件实现分析

前言 写程序有时候真的有点难,要考虑各种情况。 应用在运行中,会不断生成日志文件。假如要实现一个日志收集的工具,不考虑其它的分析功能,只考虑收集,有哪些方面要考虑的? 首先看下一般的...

logstash-input-kafka

logstash-input-kafka的所有版本见: https://rubygems.org/gems/logstash-input-kafka/versions 2.0.2 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:logstash 学习二 input 配置
举报原因:
原因补充:

(最多只允许输入30个字)