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/

   直接下载压缩包即可

  

   这里下面也有使用安装方法

 命令操作

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已经将日志中的信息转换到具体的字段里。

原文地址:https://www.cnblogs.com/songgj/p/11183566.html