Skip to content

PatrickkZ/logstash-output-rocketmq

Repository files navigation

Logstash Java Plugin

This is a Java plugin for logstash-rocketmq

环境

Logstash-7.9.4

Java 1.8

使用

使用如下命令获取logstash-7.9

git clone --branch <branch_name> --single-branch https://github.com/elastic/logstash.git

branch_name为版本号

生成.jar文件

在本地的logstash根目录($LS_HOME)下执行./gradlew assemble,此时会生成\$LS_HOME/logstash-core/build/libs/logstash-core-x.y.z.jar,x,y,z对应logstash的版本号。

clone当前项目

clone当前项目到本地,并在项目根目录下新建文件gradle.properties,该文件内容为:

LOGSTASH_CORE_PATH=<target_folder>/logstash-core

target_folder为本地的logstash根目录

运行Gradle打包任务

在本项目的根目录下执行./gradlew gem,此时会在项目根目录下生成一个.gem文件,名称为logstash-{plugintype}-<pluginName>-<version>.gem

在logstash中安装该插件

在本地的logstash根目录下运行

bin/logstash-plugin install --no-verify --local path

path为上一步生成的.gem文件的路径

启动RocketMQ

启动nameserver和broker

运行该logstash插件

首先编写配置文件rocketmq.conf,内容如下

input {
	stdin {}
}

output {
	rocketmq{
		namesrv-addr => "127.0.0.1:9876"
		topic => "test"
	}
}

执行以下命令运行logstash

bin/logstash -f path_to_rocketmq.conf

path_to_rocketmq.conf表示rocketmq.conf在本地的位置

在控制台输入消息,即可发送到rocketmq中

参数说明

参数 是否必须 默认值 说明
namesrv-addr nameserver地址,如127.0.0.1:9876
topic topic
group-name defaultProducerGroup 指定group name
tag defaultTag 指定消息tag
send oneway 指定同步/异步/单向发送,可选值sync/async/oneway
send-timeout 3000ms 发送超时时间
retry-times 2 发送失败重试次数

配置举例

example 1

output {
	rocketmq{
		namesrv-addr => "127.0.0.1:9876"
		topic => "test"
	}
}

example 2

output {
	rocketmq{
		namesrv-addr => "127.0.0.1:9876"
		topic => "test"
		group-name => "testGroup"
		tag => "testTag"
		send => "sync"
		send-timeout => "2000"
		retry-times => "3"
	}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages