Logstash 与RocketMq集成-踩坑过程、实现和代码解读

本文详细介绍了如何在Logstash中集成RocketMq,包括Logstash的介绍与安装、Java插件快速入门、Logstash与RocketMq的集成过程。内容涵盖Logstash的配置、插件开发、Java API使用,以及RocketMq客户端的配置和消息发送。在Logstash中开发Java输出插件,通过构建、打包、安装和测试,最终实现与RocketMq的通信。
摘要由CSDN通过智能技术生成

Logstash 与RocketMq集成

Logstash介绍与安装

什么是Logstash

Logstash是一个开源的数据收集引擎,可以动态地从多个不同的设备中收集数据、进行数据转换(transform),然后输出到“存储”中。这个存储可以是多种多样的。

最初logstash用于日志的收集分析,但现在其拥有了广泛的功能,是elastic生态栈中的重要组成部分。它可以利用各种插件,来应对各式各样的输入源、转换操作和输出源。如下图所示:

在这里插入图片描述

图中表示,输入源可以是各种渠道的,如数据库、redis等等,输出也可以是各种形式的,如输出到hadoop、ES等等。

Logstash quick start

Logstach需要java8、11、或者15.

我的主机是win10,java版本为:

在这里插入图片描述

同时,Logstash依赖于JAVA_HOME环境变量。

https://www.elastic.co/cn/downloads/logstash 中可以直接下载压缩包。目前我的下载版本为7.13.2:
在这里插入图片描述

解压之后的目录结构为:

在这里插入图片描述

整个Logstash的pipeline可以抽象为输入-》转换-》输出:

在这里插入图片描述

(输出不一定是ES)

测试启动命令为:
bin\logstash -e 'input { stdin { } } output { stdout {} }

会报错:
在这里插入图片描述

这是因为win10下不能用单引号,改成双引号后可以成:

bin\logstash -e "input { stdin { } } output { stdout {} }"

其中,-e表示允许你从命令行指定配置,当然也可以从一个Logstash配置文件中启动。

最后一行会输出:

在这里插入图片描述

输入hello world,可以看见输出的message:
在这里插入图片描述

出现这些信息就表示已经安装成功并可以使用了。

在线安装logstash插件

因为我们最后是要生成一个Logstash插件,因此需要配置插件的环境。官网中指出,需要Ruby环境。

Gem安装

gem是一个Ruby的包管理工具,我的理解的话,就是类似于Nodejs的npm、python的pip。

可以在https://rubyinstaller.org/downloads/中下载ruby,右侧推荐的版本是Ruby+Devkit 2.7.X (x64)

在这里插入图片描述

安装基本就是一路点next就好。可以在命令行中查看版本:

在这里插入图片描述

默认情况下gem的源在国外,就类似于pip的源、maven的源也在国外一样:

在这里插入图片描述

可以将其修改为国内镜像站,https://gems.ruby-china.com/

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
在这里插入图片描述

在Logstash根目录下有一个Gemfile文件,也可以将其gem源修改:

在这里插入图片描述
改成:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值