ELK系列六:Logstash的Filter模块

Date过滤


input {
    stdin{
        codec => plain
    }
}

filter {
    date {
        match => ["message", "yyyy-MM-dd HH:mm:ss"]
        target => "@timestamp"
    }
}

output{
    stdout{
        codec => rubydebug{

        }
    }
}

1070321-20181029190823122-1541500258.png

# target是覆盖写那个目标字段
# match 是匹配什么样子的
# 注意时区的时差 

正在表达式grok

input {
    stdin{
        codec => plain
    }
}

filter {
    grok {
        match => {"message" => "\d\d\d\d\d\d"}
    }
}

output{
    stdout{
        codec => rubydebug{

        }
    }
}

1070321-20181029190838259-1665191789.png

# 输出的数据类型转换(Number目前只支持float和int):
filter {
    grok {
        match => {
            "message => "%{WORD} %{NUMBER:newdata:float} %{WORD}"
        }
    }
}

1070321-20181029191600827-1644169383.png

#  重写字段:
overwrite => ["message"] 

1070321-20181029193644797-96302793.png

input {
    stdin{
        codec => plain
    }
}

filter {
    grok {
        match => {"message" => "%{WORD:message:text} %{NUMBER:data:float}"}
        overwrite => ["message"]
    }
}

output{
    stdout{
        codec => rubydebug{

        }
    }
}

GeoIP地址查询


filter {
    geoip {
        source => "message"
    }
}

1070321-20181029193926113-1840645414.png

JSON编码


filter{
    json {
        source => "message"
        target => "jsoncontent"
    }    
}

key-value切分


input {
    stdin{
        codec => plain
    }
}

filter {
    kv {
        source => "message"
        include_keys => ["name","ip","level"]
        target => warnning
    }
}

output{
    stdout{
        codec => rubydebug{

        }
    }
}

1070321-20181030103924830-793669838.png

数据修改


#总格式
filter {
    mutate {
        ...
    }
}
#1、字符串处理
mudate {
    gsub => ["xxx", "yyy","zzz"] #替换xxx字段中的yyy为zzz
    split => ["xxx","yyy"] #把xxx字段按照yyy字符分割
    join => ["xxx","yyy"] #把xxx字段按照yyy组装,之前分割的东西,用yyy作为分隔符,组装到一起
    merge => ["xxx","yyy"] #合并xxx和yyy字段
    strip => ["xxx"] #去掉xxx字段的前后空格
    lowercase/uppercase => xxx #小写/大写
    rename => ["xxx","yyy"] #xxx字段的名字换成yyy
    update => ["xxx","xxx"] #更新字段,字段不存在不新建
    replace => ["xxx","yyy"] #更新字段,字段不存在则新建
}

转载于:https://www.cnblogs.com/KevinGeorge/p/9872755.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值