zoukankan      html  css  js  c++  java
  • logstash的Multiline插件

    安装插件

    cd $LOGSTASH_HOME
    ./bin/logstash-plugin install logstash-filter-multiline

    合并多行数据(Multiline)

        input {
            stdin {
                codec =>multiline {
                    charset=>...          #可选                      字符编码
                    max_bytes=>...        #可选     bytes类型            设置最大的字节数
                    max_lines=>...        #可选     number类型           设置最大的行数,默认是500行
                    multiline_tag...      #可选     string类型           设置一个事件标签,默认是multiline
                    pattern=>...          #必选     string类型           设置匹配的正则表达式
                    patterns_dir=>...     #可选     array类型           可以设置多个正则表达式
                    negate=>...           #可选     boolean类型         设置true是向前匹配,设置false向后匹配,默认是FALSE
                    what=>...             #必选                        设置未匹配的内容是向前合并还是先后合并,previous,next两个值选择
                }
            }
         
        }

    ## negate 只支持布尔值,true 或者false,默认为false。

    如果设置为true,表示信息不跟上面正则表达式(pattern)匹配的内容都与匹配的整合,

    ## what 前一行 或者后一行,指出上面对应的规则与前一行内容收集为一行,还是与后一行整合在一起

    简单来说:

    negate默认是 false,不显示 与patten匹配的行 由what决定 向前或向后 匹配

    negate 设置为true 则与patten 不匹配的行 由what决定 向前或向后 匹配

    示例

    日志内容

    2015-08-24 11:49:14,389[INFO ][env                      ] [Letha] using [1] data paths, mounts [[/111 
    (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]1111
    2015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]2222
    2015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]3333
    2015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]4444
    2015-08-24 11:49:14,389[INFO ][env ] [Letha] using [1] data paths, mounts [[/111 (/dev/disk1)]], net usable_space [34.5gb], net total_space [118.9gb], types [hfs]5555

    logstash配置

    input {
      file {
        path => "/var/log/someapp.log"
        codec => multiline {
          pattern => "^%{TIMESTAMP_ISO8601}"
          negate => true
          what => "previous"
        }
      }
    }
    
    output {
      stdout {
        codec => rubydebug
      }
    }
  • 相关阅读:
    118.Java_前定义
    117.数据结构概述(定义,基本术语,层次)
    116.C语言_文件
    115.C语言_函数
    java数组
    sql语句学习(第二季
    linux查看内存
    增强型for和Iterator学习
    ArrayList和LinkedList
    java并发回答
  • 原文地址:https://www.cnblogs.com/fat-girl-spring/p/13043066.html
Copyright © 2011-2022 走看看