大数据ELK(二十一):Logstash简介和安装

2022-10-11 08:42:52 浏览数 (1)

Logstash简介和安装

一、简介

Logstash是一个开源的数据采集引擎。它可以动态地将不同来源的数据统一采集,并按照指定的数据格式进行处理后,将数据加载到其他的目的地。最开始,Logstash主要是针对日志采集,但后来Logstash开发了大量丰富的插件,所以,它可以做更多的海量数据的采集。

它可以处理各种类型的日志数据,例如:Apache的web log、Java的log4j日志数据,或者是系统、网络、防火墙的日志等等。它也可以很容易的和Elastic Stack的Beats组件整合,也可以很方便的和关系型数据库、NoSQL数据库、Kafka、RabbitMQ等整合。

1、经典架构

2、对比Flume

  • Apache Flume是一个通用型的数据采集平台,它通过配置source、channel、sink来实现数据的采集,支持的平台也非常多。而Logstash结合Elastic Stack的其他组件配合使用,开发、应用都会简单很多
  • Logstash比较关注数据的预处理,而Flume跟偏重数据的传输,几乎没有太多的数据解析预处理,仅仅是数据的产生,封装成Event然后传输。

3、对比FileBeat

  • logstash是jvm跑的,资源消耗比较大
  • 而FileBeat是基于golang编写的,功能较少但资源消耗也比较小,更轻量级
  • logstash 和filebeat都具有日志收集功能,Filebeat更轻量,占用资源更少
  • logstash 具有filter功能,能过滤分析日志
  • 一般结构都是filebeat采集日志,然后发送到消息队列,redis,kafka中然后logstash去获取,利用filter功能过滤分析,然后存储到elasticsearch中

二、安装Logstash

1、切换到lanson用户

2、下载Logstash

Logstash 7.6.1 | Elastic

3、解压Logstash到指定目录

4、运行测试

代码语言:javascript复制
cd /export/server/es/logstash-7.6.1/
bin/logstash -e 'input { stdin { } } output { stdout {} }'

等待一会,让Logstash启动完毕

然后,随便在控制台中输入内容,等待Logstash的输出

代码语言:javascript复制
{
"host" => "node1",
"message" => "hello world",
"@version" => "1",
"@timestamp" => 2021-12-05T08:32:31.007Z
}

ps:

-e选项表示,直接把配置放在命令中,这样可以有效快速进行测试

0 人点赞