[elk]logstash的grok匹配逻辑grok+date+mutate

重点参考:
http://blog.csdn.net/qq1032355091/article/details/52953837

logstash的精髓:

grok插件原理
date插件原理
kv插件原理

日志默认情况

默认将日志内容赋给了message字段, logstash附加了@timestamp @version host 3个字段

{
    "@timestamp" => 2017-11-30T06:09:09.625Z,
      "@version" => "1",
          "host" => "lb-212-222.above.com",
       "message" => "sad"
}

match匹配原则

参考: https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html
9e792b8fgy1fm04dsbu6dj20g906b74i.jpg

date插件匹配过程解析

input { stdin { } }
 
filter {
  grok { match => [ "message", "%{HTTPDATE:[@metadata][timestamp]}" ] }
  date { match => [ "[@metadata][timestamp]", "dd/MMM/yyyy:HH:mm:ss Z" ] }
}
 
output {
  stdout { codec => rubydebug }
}
##用正则HTTPDATE匹配message,将结果赋给[@metadata][timestamp]字段
grok { match => [ "message", "%{HTTPDATE:[@metadata][timestamp]}" ] }

##date插件将[@metadata][timestamp]的值赋给 @timestamp字段
date { match => [ "[@metadata][timestamp]", "dd/MMM/yyyy:HH:mm:ss Z" ] }

下面是一个完整例子:
参考: http://blog.csdn.net/xiaoyu_bd/article/details/52531051

input  {
     stdin{}
}
filter {
    grok {
        match => ["message", "%{TIMESTAMP_ISO8601:logdate}"]
    }
    date {
        match => ["logdate", "yyyy-MM-dd HH:mm:ss,SSS"]
        target => "@timestamp"  ## 默认target就是"@timestamp
    }
}
output{
    stdout{
        codec=>rubydebug{}
    }
}
date {
    match => [“timestamp”, “dd/MMM/yyyy:HH:mm:ss Z”]
    #默认目标就是@timestamp
    target => "@timestamp"
    "locale" => "en"
}

mutate插件

  • 修改字段类型
    参考(修改时间格式): http://blog.csdn.net/wang_zhenwei/article/details/49760975
  mutate {  
  
      convert => { "dest_Port" => "integer" }  
      convert => { "source_Port" => "integer" }  
   }  
  • 添加字段
input { stdin { } }
 
filter {
  mutate { add_field => { "show" => "This data will be in the output" } }
}
 
output {
    stdout { codec => rubydebug }
}
  • 还可以转换字段大小写

kibana 查询结果csv导出

table类型的导出:
9e792b8fgy1fm6w1rzw84j211s0d0402.jpg

饼图统计结果导出
806469-20171206113733159-1642732662.png

转载于:https://www.cnblogs.com/iiiiher/p/7929127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值