返回 导航

大数据

hangge.com

Logstash日志收集工具使用详解1(基本介绍、安装配置)

作者:hangge | 2024-03-27 08:40

一、基本介绍

1,什么是 Logstash?

(1)LogstashElastic 公司开源的收集、解析和转换日志的工具,可以方便地把分散的、多样化的日志收集起来,然后进行自定义处理,最后将其传输到指定的目的地。
(2)Logstash 是由 JRuby 语言编写的,使用基于消息的简单架构,在 JVM 上运行。
(3)Logstash 常被用于在日志关系系统中作为日志采集设备,最常被用于 ELKElasticsearch + Logstash + Kibana)中作为日志收集器。

2,架构介绍

(1)Logstash 的架构非常简单,类似于 Flume,主要由 InputFilterOutput 组成。

(2)Logstash 收集日志的基本流程是:InputFilterOutput
  • Input:输入数据源。
  • Filter:数据处理。
  • Output:输出目的地。
提示Filter 组件是可选项,Input 组件和 Output 组件是不能缺少的。

3,插件介绍

(1)Input 用于指定数据源获取数据,常见的插件有 stdinfilesyslogkafka 等:
  • stdin:从标准输入(默认是键盘)读取数据,一次读取一行数据。
  • file:监控指定目录下的文件,采集文件中的新增数据。
  • syslog:采集 Syslog 日志服务器中的日志数据。
  • kafka:采集 Kafka 消息队列中的数据。

(2)Filter 用于处理数据,例如格式转换、数据派生等。常见的插件有 grokmutatedropgeoip 等:
  • grok:支持 120 多种内置的表达式,在解析 Syslog 日志、Apache 日志、MySQL 日志等格式的数据上表现是非常完美的。它也支持自定义正则表达式对数据进行处理。
  • mutate:此过滤器可以修改指定字段的内容,支持 convert()rename()replace()split() 等函数。
  • drop:过滤掉不需要的日志。例如:Java 程序中会产生大量的日志,包括 DEBUGINFOWARNERROR 级别的日志,如果只想保留部分级别的日志,那 drop 可以帮助你。
  • geoip:从日志中的 IP 字段获取用户访问时的所在地。

(3)Output 用于指定数据输出目的地,常见的插件有 stdoutelasticsearchkafkawebhdfs 等:
  • stdout:将数据输出到标准输出(默认是控制台)。
  • elasticsearch:将数据输出到 Elasticsearch 的指定 Index 中。
  • kafka:将数据输出到 Kafka 的指定 Topic 中。
  • webhdfs:将数据输出到 HDFS 的指定目录下。

附:Logstash 的安装配置

提示:由于 Logstash 是在 JVM 平台上运行的,所以也需要依赖 Java 环境,Logstash 7.x 版本开始内置了 OpenJDK,位于 Logstash 下的 jdk 目录下,也可以使用机器中已有的 JDK

(1)访问 Logstash 的官网地址(点击访问),选择合适的版本下载,比如我这里下载的是 7.17.15 版本:
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.15-linux-x86_64.tar.gz

(2)然后将 Logstash 安装包解压即可:
tar -zxvf logstash-7.17.15-linux-x86_64.tar.gz

(3)这样就安装好了。Logstash 可以实现零配置安装,使用起来非常方便,此时我们不需要启动任何进程,只有在配置好采集任务之后才需要启动 Logstash
评论

全部评论(0)

回到顶部