一、Logstash简介
1、官方介绍
官方文档:https://www.elastic.co/guide/en/logstash/current/introduction.html
2、由我介绍
简单的来说 logstash 主要用来对数据的接收、处理、发送三个操作,即配置文件中的 input、filter、output 三项内容。
二、Logstash安装使用
logstash 运行环境为 Java 8 or Java 11,系统需要配置 jdk 环境变量
1、window系统安装
logstash-7.3.2.zip下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-7.3.2.zip,解压即可。
2、linux系统安装
可以使用 wget 下载然后解压,或者在 window 上下载后上传。
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.3.2.tar.gz
解压即可。
3、测试使用
在 logstash 解压目录下,执行命令:
bin/logstash -e 'input { stdin {} } output { stdout {} }'
由于 logstash 运行环境是 jdk,所以启动较慢,大概输入命令回车后 ,1-2 分钟才会出现启动日志;
如果启动日志里是 [INFO]、[WARN] 无 [EORR] 出现,则启动成功;
启动以后,下面我们在命令行下输入"hello world",如图出现 kv 结构的数据,说明安装成功。
4、文件启动
logstash 启动文件的文件名和扩展名都无要求(除 yml 文件外),推荐的启动命令:
bin/logstash -f 文件目录/文件名 --config.reload.automatic
5、配置文件介绍
logstash 的核心为配置文件的编写,大量的插件和灵活的配置文件内容使 logstash 的功能非常强大。
文件内容格式如:
配置文件中插件和参数的配置编写需要阅读官网和大量的实验中,配置自己想要的功能。
6、logstash 插件分类
logstash 插件主要分为五大类,上百个插件,目前还在增加,大致分为: input 插件类、filter 插件类、output 插件类、codec 插件类和自定义插件类,其中自定义插件就是自己写的插件安装到 logstash 上以实现想要的功能。
自定义插件的编写语言分为两种,ruby 和 java (6.6版本之后)。ruby 编写太繁琐,建议使用 java 编写,java编写各类插件步骤请查看官方文档:https://www.elastic.co/guide/en/logstash/current/contributing-java-plugin.html
如图选择要编写插件的分类:
以下是前四类的插件展示:
a. input 插件 (7.3版本)
具体插件和用法请查看官方文档:https://www.elastic.co/guide/en/logstash/current/input-plugins.html
b. filter 插件 (7.3版本)
具体插件和用法请查看官方文档:https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
c. output 插件 (7.3版本)
具体插件和用法请查看官方文档:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
d. codec 插件 (7.3版本)
具体插件和用法请查看官方文档:https://www.elastic.co/guide/en/logstash/current/codec-plugins.html