网站首页 > java教程 正文
导读:本文主要讨论如何在 Window 环境下构建 Logstash Java Output 插件的方式,并在服务器上安装和使用。
Gradle 安装
由于 Logstash 项目都是基于 Gradle 进行管理,所以我们需先在本地安装Gradle,详细步骤如下:
1、从 Gradle 官网下载 Gradle,官网提供了 binary-only(编译后版本) 和 complete(包括doc和源码) 两种版本,这里我们选择 binary-only 版本。
2、将下载下来 Gradle 压缩包进行解压
3、配置环境变量
- 新建系统环境 “GRADLE_HOME”,值为 D:\Program Files\gradle\gradle-6.7.1
- 修改path变量,在后面添加 %GRADLE_HOME%\bin;
4、在cmd命令里输入gradle -v如果能打出版本号,说明环境配置完毕
5、gradle下载的jar包仓库默认是在 C:\Users\Administrator\.gradle 目录下,我们可另建一个 D:\.gradle 作为仓库。
Logstash 编译生成 logstash-core-x.y.z.jar
由于插件 API 是 Logstash 代码库的一部分,依赖于 logstash-core-x.y.z.jar ,所以我们需要拉取 Logstash 项目并进行编译生成 logstash-core-x.y.z.jar 。
1、Logstash 代码拉取
// Logstash GitHub 地址,如果拉取速度较慢,可以借助gitee同步github,本地再从gitee拉取
https://github.com/elastic/logstash
2、配置 Gradle
打开IDEA file->setting->Build,Execution,Deployment->Build Tools -> Gradle,两处地方设置。
3、在项目的根目录下执行 gradlew assemble 进行编译,编译完成之后在 G:\github\logstash\logstash-core\build\libs 目录下会生成 logstash-core-8.0.0.jar
编译、构建和安装 Output 插件
1、拉取 logstash-output-java_output_example,并在 IDEA 中配置好 Gradle、JDK等。
// 官网提供的 logstash-output-java_output_example 地址
https://github.com/logstash-plugins/logstash-output-java_output_example
2、在该项目的根目录下创建一个 gradle.properties 文件,写入以下内容(这里的 <target_folder> 替换为 Logstash 项目根目录路径)
LOGSTASH_CORE_PATH=<target_folder>/logstash-core
3、编译、构建 Output 插件
执行以下命令将Java 插件将被打包为 Ruby gems,根据官方文档描述:window 中使用 gradlew.bat 代替 ./gradlew。
gradlew.bat gem
如果出现下图的异常,可参考 paul.devereux 的解决方案:修改 build.gradle 文件 102 行处,增加 ()。
构建成功后在项目根目录下会生成 gem 文件
4、安装插件
在部署了 Logstash 的服务器上创建 $LOGSTASH_HOME/plugin 文件夹($LOGSTASH_HOME 为你所安装的logstash路径),将生成的 gem 上传到该目录中。之后在 $LOGSTASH_HOME/bin 目录下执行以下命令安装插件。
./logstash-plugin install --no-verify --local $LOGSTASH_HOME/plugin/logstash-output-java_output_example-1.0.1.gem
安装成功后查看插件列表
./logstash-plugin list
使用插件
// $LOGSTASH_HOME/config/ 目录下复制模板文件
cp logstash-sample.conf logstash-test.conf
// 编辑
vim logstash-test.conf
写入以下内容
input {
generator { message => "Hello world!" count => 10 }
}
output {
java_output_example {}
}
在bin 目录执行
./logstash -f $LOGSTASH_HOME/config/logstash-test.conf
输出结果
最后
以上便是将官方提供了简单java-outup插件进行编译构建和安装,并使用的流程步骤。基于此,我们可以通过参考官方文档关于该 demo 的详细讲解,并根据自身实际情况构建出符合需求的插件使用。
// 官网 how to write a Java output plungin 文档
https://www.elastic.co/guide/en/logstash/7.x/java-output-plugin.html#_package_and_deploy_4
感谢您的阅读,如果喜欢本文欢迎关注和转发,本头条号将坚持持续分享IT技术知识。对于文章内容有其他想法或意见建议等,欢迎提出共同讨论共同进步。
猜你喜欢
- 2024-11-14 这3款Chrome插件不火,天理难容(chrome插件能做什么)
- 2024-11-14 都2020年了,这些6到起飞的idea插件你还没用过?
- 2024-11-14 你还在 Java 代码中写 set/get 方法?赶快试试这款插件吧!
- 2024-11-14 限时白嫖!分享10个 解放双手的 IDEA 插件,码农:工作效率瞬间翻倍
- 2024-11-14 Java,Lombok插件,@Data、@EqualsAndHashCode、@Accessors注解
- 2024-11-14 IDEA java开发工具插件推荐,有它效率提升10倍
- 2024-11-14 Zephyr是一个类似OSGI的Java插件框架
- 2024-11-14 种草 Vue3 中几个好玩的插件和配置
- 2024-11-14 这款 Chrome 插件,让你的项目联调 so easy
- 2024-11-14 「Java工具开发」Maven插件开发之实战篇(二)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)