logstash自定义字段类型

本文介绍了如何在Logstash 7.17版本中自定义字段类型,通过编写conf文件和配置rocketmq.json及rocketmq.pattern文件来实现。这些文件分别位于指定目录中,为日志处理提供定制化的解析方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

  1. 基于7.17版本

编写conf文件

  1. rocketmq.json
# The # character at the beginning of a line indicates a comment. Use
# comments to describe your configuration.
input { 
        beats { 
                port => "5044"	#logstash监听端口
        }
}
# The filter part of this file is commented out to indicate that it is
# optional.
filter {
    grok {
        patterns_dir => "/etc/logstash/patterns"	#指定正则目录,用来在一些自定义的正则表达式,例如下面的LOG_TIMEMETRIC_BROKER
        match => {"message" => ["%{LOG_TIME:logTime}\s%{WORD:level}\s-\s\[%{METRIC_BROKER:metric}]\s\[%{NOTSPACE:broker}] Stats In One Minute, SUM: %{INT:sum} TPS: %{NUMBER:tps}"]}
    }
    date {
      timezone => "Asia/Shanghai"	#解决时区问题
      match => ["logTime", "yyyy-MM-dd HH:mm:ss"] #匹配timestamp字段
      target => "@timestamp"  #将匹配到的数据写到@timestamp字段中
    }

}
output {
        #stdout { codec => rubydebug }
        #
        elasticsearch {
                hosts => [ "xxx.xxx.xxx.xxx:xxx" ]
                index => "rocketmq-%{[@metadata][version]}-%{+YYYY.MM.dd}" #索引生成规则
                user => "xx" #es username
                password => "xxx"	#es password
                template => "/etc/logstash/mappings/rocketmq.json"	#自定义mapping模板,用于定义字段类型,在kibana中会用到
                template_name => "rocketmq_template"
                template_overwrite => true
        }
}
  1. rocketmq.pattern文件,存放于/etc/logstash/patterns
LOG_TIME \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
METRIC_BROKER BROKER_PUT_NUMS|BROKER_GET_NUMS	
  1. rocketmq.json模板文件
{
  "index_patterns": "rocketmq-*",
  "settings": {
    "index.refresh_interval": "60s"
  },
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      },
      "@version": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "broker": {
        "type": "long",#自定义字段类型
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值