【弄nèng - Logstash】入门篇(一)—— Logstash简介

该系列博客是Logstash的学习应用,部分示例来自官方文档。
参考:
官方文档
一文快速上手Logstash

一. 简介

官方解释:

Logstash是具有实时流水线功能的开源数据收集引擎。Logstash可以动态统一来自不同来源的数据,并将数据标准化到您选择的目标位置。清除所有数据并使其民主化,以用于各种高级下游分析和可视化用例。

个人理解:

Logstash可以采集来自不同数据源的数据,并对数据进行处理后输出到多种输出源,是Elastic Stack 的重要组成部分,是ELK中的L。ELK就是指ElasticSearch、Logstash、Kibana这三个组件。它们往往配合使用,ES负责数据的存储和索引,Logstash负责集中、转换和存储数据,Kibana负责图形页面展示。

二. 架构原理

2.1 架构图

在这里插入图片描述

2.2 处理过程

在这里插入图片描述

Inputs输入源
它支持多种将输入源,像常用的beat,kafka,tcp,redis,等等。
更多支持请参看https://www.elastic.co/guide/en/logstash/current/input-plugins.html

过滤器Filters
处理数据如格式转换,数据过滤等,常见的插件如grok, mutate, drop, geoip等
更多支持请参看https://www.elastic.co/guide/en/logstash/5.6/filter-plugins.html

输出Outputs
数据输出地,常见的插件如elastcisearch,file, 等
更多支持请参看https://www.elastic.co/guide/en/logstash/5.6/output-plugins.html

编码Codecs
Codes不是一个单独的流程,而是在输入和输出等插件中用于数据转换的模块,用于对数据进行编码处理,常见的插件如json,multiline等
更多支持请参看https://www.elastic.co/guide/en/logstash/5.6/codec-plugins.html

官方插件文档:运行原理

2.3 配置文件说明

详细介绍请看官方文档

2.4 持久队列使用

要配置持久队列,可以在Logstash 设置文件中指定以下选项:

  • queue.type:指定persisted启用持久队列。默认情况下,永久队列是禁用的(默认值:queue.type: memory)
  • path.queue:将存储数据文件的目录路径。默认情况下,文件存储在中path.data/queue。
  • queue.page_capacity:队列页面的最大大小(以字节为单位)。队列数据由称为“页面”的仅附加文件组成。默认大小为64mb。更改此值不太可能带来性能优势。
  • queue.drain:指定true是否要让Logstash在关闭持久队列之前等到持久队列耗尽。排空队列所需的时间取决于队列中累积的事件数。因此,除非队列(即使已满)相对较小并且可以快速耗尽,否则应避免使用此设置。
  • queue.max_events:队列中允许的最大事件数。默认值为0(无限制)。
  • queue.max_bytes:队列的总容量,以字节数为单位。默认值为1024mb(1gb)。确保磁盘驱动器的容量大于您在此处指定的值。

可以配置如下开启持久队列:

queue.type: persisted
queue.max_bytes: 4gb

指定这些设置后,Logstash将在磁盘上缓冲事件,直到队列大小达到4gb。当队列中充满未确认的事件,并且达到大小限制时,Logstash将不再接受新事件。

详细介绍请看官方文档

三. Hello World

1.下载安装
下载地址:传送门
解压即可(需要先安装JDK8)

2.使用启动
cd到Logstash的根目录,执行启动命令,此处使用标准输入和标准输出作为input和output
(windows用cmd终端进入)

cd logstash-6.0.0
bin/logstash -e 'input { stdin { } } output { stdout {} }'
  • -e 表示在启动时直接指定pipeline配置
  • -f 表示使用配置文件启动
  • –config.test_and_exit 选项解析配置文件并报告任何错误
  • –config.reload.automatic 选项允许自动重新加载配置,这样您就不必每次修改配置文件时都要停止并重新启动Logstash

3.测试
启动成功显示如下:
输入123,显示123
在这里插入图片描述

4.使用配置文件启动
首先在任意目录下conf文件,我是在logstash/bin目录下创建的
std_std.conf

input {
    stdin {}

}
output {
   stdout {}
}

之后启动命令

cd logstash-6.0.0
bin/logstash -f sts_std.conf

源码地址

IT-CLOUD-LOGSTASH :LOGSTASH教程源码。博文在本CSDN logstash系列中。


项目推荐

IT-CLOUD :IT服务管理平台,集成基础服务,中间件服务,监控告警服务等。
IT-CLOUD-ACTIVITI6 :Activiti教程源码。博文在本CSDN Activiti系列中。
IT-CLOUD-ELASTICSEARCH :elasticsearch教程源码。博文在本CSDN elasticsearch系列中。
IT-CLOUD-KAFKA :spring整合kafka教程源码。博文在本CSDN kafka系列中。
IT-CLOUD-KAFKA-CLIENT :kafka client教程源码。博文在本CSDN kafka系列中。

开源项目,持续更新中,喜欢请 Star~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值