logstash自定义java插件如何根据官方的例子进行修改

本文详细介绍了如何基于logstash 7.3.2版本自定义java插件,包括拉取源码、修改官方示例、配置Gradle项目、打包与安装插件的步骤,最终实现自定义过滤器功能。
摘要由CSDN通过智能技术生成

logstash自定义java插件

官方文档:https://www.elastic.co/guide/en/logstash/7.3/java-filter-plugin.html
版本:7.3.2(7.0以上都可以)

1、拉取logstash源码

git clone --branch v7.3.2 --single-branch https://github.com/elastic/logstash.git

1、v7.3.2 是对应的版本号,可以根据需要修改,拉取可能会慢,或者不成功,多试几次,一定多试几次
在这里插入图片描述
2、拉取成功后在idea里执行

gradlew.bat assemble

可能会很慢,多试几次,看到绿色部分代表成功
在这里插入图片描述
3、拉取成功后可以看到rubyUtils.gradle文件,7.0以前是没有这个文件的,很重要
在这里插入图片描述

2、拉取logstash示例 -java filter example(主要教你怎么修改官方的例子,以后可以完全自己创建,一定要熟悉Gradle类型的项目,以后教你怎么从0创建插件)

git clone https://github.com/logstash-plugins/logstash-filter-java_filter_example.git

1、拉取可能会慢,或者不成功,多试几次,一定多试几次
在这里插入图片描述
源码的代码 包名我修改了

package org.lyra;

import co.elastic.logstash.api.Configuration;
import co.elastic.logstash.api.Context;
import co.elastic.logstash.api.Event;
import co.elastic.logstash.api.Filter;
import co.elastic.logstash.api.FilterMatchListener;
import co.elastic.logstash.api.LogstashPlugin;
import co.elastic.logstash.api.PluginConfigSpec;
import org.apache.commons.lang3.StringUtils;

import java.util.Collection;
import java.util.Collections;

// class name must match plugin name
@LogstashPlugin(name = "java_filter_example")
public class JavaFilterExample implements Filter {

    public static final PluginConfigSpec<String> SOURCE_CONFIG =
            PluginConfigSpec.stringSetting("source", "message");

    private String id
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值