logstash之filter处理中括号包围的内容

如题,logstash之filter处理中括号包围的内容:

$grep -v "#" config/logstash-nlp.yml
input {
    kafka {
        bootstrap_servers => "datacollect-1:9092,datacollect-2:9092,datacollect-3:9092"
        codec => "json"
        group_id => "logstash-newtrace-nlptemp"
        topics => ["ot-nlp"]
    }
}
filter {
    grok {
        match => {
            "message" => "^\[%{GREEDYDATA:request}\]$"
        }
    }
    json {
        source => "request"
    }
    ruby {
        code => "event.set(‘temptime‘, event.get(‘@timestamp‘).time.localtime + 8*60*60);"
    }
    grok {
        match => ["temptime", "%{DATA:thedate}T%{NOTSPACE:thetime}Z"]
    }
}
output {
    if ([kafka][topic] =~ "^ot-nlp*") {
        if [name] == "nlp" {
            file {
                codec => line {format => "%{request}"}
                path => "/tmp/newtrace_nlp.log.%{thedate}"
            }
        }
    }
}

摘出来数组中的所有fields

filter {
    grok {
        match => {
            "message" => "^\[%{GREEDYDATA:request}\]$"
        }
    }
    json {
        source => "request"
        remove_field => [ "message", "request" ]
    }
    split {
        field => "binaryAnnotations"
    }
    json {
        source => "[binaryAnnotations][value]"
    }
}

感谢时总的大力支持!!!

核心就是正则!

        match => {

            "message" => "^\[%{GREEDYDATA:request}\]$"

        }

原文地址:https://www.cnblogs.com/zhzhang/p/9406233.html

时间: 2024-10-17 15:18:37

logstash之filter处理中括号包围的内容的相关文章

【记录】logstash 的filter 使用

概述 logstash 之所以强大和流行,与其丰富的过滤器插件是分不开的 过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的新事件到后续流程中 强大的文本解析工具 -- Grok grok 是一个十分强大的 logstash filter 插件,他可以解析任何格式的文本,他是目前 logstash 中解析非结构化日志数据最好的方式 基本用法 Grok 的语法规则是: %{语法 : 语义} “语法”指的就是匹配的模式,例如使用 NUMBER 模式可以匹

ELK 学习笔记之 Logstash之filter配置

Logstash之filter: json filter: input{ stdin{ } } filter{ json{ source => "message" } } output{ stdout{ codec => json } 输入: {"name": "CSL", "age": 20} 输出: Grok filter: pattern: https://github.com/logstash-plugin

Logstash 常用 filter 插件介绍(二)

Filter是Logstash功能强大的主要原因,它可以对Logstash Event进行丰富的处理,比如说解析数据.删除字段.类型转换等等,常见的有如下几个: date:日志解析 grok:正则匹配解析 dissect:分割符解析 mutate:对字段做处理,比如重命名.删除.替换等 json:按照 json 解析字段内容到指定字段中 geoip:增加地理位置数据 ruby: 利用 ruby 代码来动态修改 Logstash Event data 从字段解析日期以用作事件的Logstash时间

logstash实战filter插件之grok(收集apache日志)

有些日志(比如apache)不像nginx那样支持json可以使用grok插件 grok利用正则表达式就行匹配拆分 预定义的位置在 /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns apache的在文件grok-patterns 查看官方文档 https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.ht

php正则:匹配(),{},[]小括号,大括号,中括号里面的内容

比如有一段字符: $s='60c8 {"code":"200","message":"success","data":[{"_id":"780521","time":1476768196,"position":{"long":108.90415,"lat":35.25623},"

LogStash的Filter的使用

最近在项目中使用LogStash做日志的采集和过滤,感觉LogStash还是很强大的. input { file{ path => "/XXX/syslog.txt" start_position => beginning codec => multiline{ patterns_dir => ["/XX/logstash-1.5.3/patterns"] pattern => "^%{MESSAGE}" negat

ELK部署logstash安装部署及应用(二)

Logstash 安装部署注意事项: Logstash基本概念: logstash收集日志基本流程: input-->codec-->filter-->codec-->output input:从哪里收集日志. filter:发出去前进行过滤 output:输出至Elasticsearch或Redis消息队列 codec:输出至前台,方便边实践边测试 数据量不大日志按照月来进行收集 如果通过logstash来采集日志,那么每个客户端都需要安装logstash 安装需要前置系统环境

使用logstash+elasticsearch+kibana快速搭建日志平台

日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数据自动触发消息通知 基于日志的数据挖掘 很多团队在日志方面可能遇到的一些问题有: 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力 日志数据分散在多个系统,难以查找 日志数据量大,查询速度慢 一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据 数据不够实时 常见的一些重量级的开源

logstash 学习小记

logstash 学习小记 标签(空格分隔): 日志收集 Introduce Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). – http://logstash.net 自从2013年logstash被ES公司收购之后,ELK stask正式称为官方用语.非