Logstash使用
Logstash简介
Logstash是一个基于Java开发的开源的日志收集管理工具,一般作为Elasicsearch常用的实时数据采集引擎,可以采集来自不同数据源的数据,可以同时从多个数据源提取(Extract)数据、处理转换(Transform)数据、最后把数据存放(Load)到你要存储的地方,还有强大的插件功能,是Elastic Stack 的重要组成部分。
Logstash官方定义为Data Shipper,和Beats(Beats被定义为Lightweight Data Shipper)相比少了Lightweight,所以不是轻量级的,会比Beats占用更多的资源,但是功能强大。Logstash担任了ETL (Extract Transform Load)的角色。ETL的概念:Extract 对数据进行提取、Transform 转换、Load 对外的输出
Logstash和Filebeat区别
Logstash和Filebeat都具有日志收集功能,但是也有一些区别:
1. Filebeat使用go语言开发,更轻量,占用资源更少,而Logstash是基于JVM运行的,资源消耗比较大。
2. Logstash可以支持各种自定义插件,filter功能Logstash也比Filebeat强大。
3. Filebeat功能相对单一,应用比较有限。
Logstash工作流程
Logstash工作流程分为三个阶段:
1. Input(数据采集)。
2. Filter(数据处理解析与转换)。
3. Output(数据输出)。
Logstash下载与安装
官网地址:https://www.elastic.co/cn/logstash
下载地址:https://www.elastic.co/cn/downloads/logstash
国内加速地址:https://www.newbe.pro/Mirrors/Mirrors-Logstash/
Logstash参考文档:https://www.elastic.co/guide/en/logstash/current/index.html
直接下载压缩包即可。注意下载Logstash和Kibnana的版本一定要和你当前Elasticsearch的版本一致。
https://www.elastic.co/cn/downloads/past-releases#logstash 这个地址可以选择你要的版本。
这里下面也有使用安装方法
命令操作
tar zxvf logstash-7.5.2.tar.gz
进入logstatsh配置目录
cd logstash-7.5.2/config/
复制一份
cp logstash-sample.conf nginx_logstash.conf
执行命令去监控nginx日志
head -n 10 /usr/local/var/log/nginx/access.log | ./bin/logstash -f ./config/nginx_logstash.conf
因为是基于JVM的,所以Logstash启动是比较慢的。
下面是输出的内容
Logstash已经将日志中的信息转换到具体的字段里。