【弄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
    评论
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件中的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架做到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能做到让大家对应用日志收集了解的更加深入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值