LogStash简要介绍

发布时间 2023-04-11 15:10:47作者: 金天黑日

1 简介

  logstash是一个灵活的数据传输和处理系统,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好,非常简洁强大,经常与ElasticSearch,Kibana配置,组成著名的ELK技术栈,非常适合用来做日志数据的分析。

  Logstash的任务,就是将各种各样的数据,经过配置转化规则,统一化存入Elasticsearch。使用Ruby开发的Logstash在灵活性上,非常出色。不过性能一直是被诟病的问题。

     由于Logstash在数据收集上并不出色,而且作为agent,性能并不达标。elastic发布了beats系列轻量级采集组件。至此,elastic形成了一个完整的生态链和技术栈,成为大数据市场的佼佼者

 

2 Logstash的作用

 

2.1 输入、过滤器和输出

  Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

 

2.2 采集各种样式、大小和来源的数据

  数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择,可以同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据

 

2.3 实时解析和转换数据

  数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。

  Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

  利用 Grok 从非结构化数据中派生出结构

  从 IP 地址破译出地理坐标

  将 PII 数据匿名化,完全排除敏感字段

  简化整体处理,不受数据源、格式或架构的影响

  使用我们丰富的过滤器库和功能多样的 Elastic Common Schema,您可以实现无限丰富的可能。

 

2.4 导出数据

  尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。

 

2.5 小结

  总之,logstash就是一个具备实时数据传输能力的*管道*,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以根据需求在中间加上滤网;是一个input | filter | output 的数据流。

 

 

 

3 相关文档

3.1  官方文档

  文档

 

3.2 版本和支持系统

  文档

 

3.3 下载地址

  下载地址

 

3.4 INPUT选择

  INPUT

 

3.5 OUTPUT选择

  OUTPUT

 

3.6 FILTER选择

  FILTER

 

4 下载安装

  下载后直接解压即可

 

5 测试

1)进入bin目录

 

2)执行以下目录

./logstash -e 'input { stdin { } } output { stdout {} }'

  该目录标识输入为stdin方式,输出为stdout方式,没有filter,也就是控制台输入什么就在控制台输出什么

  如下说明启动成功

 

3)测试输入

  输入 ni hao ya,立马就输出了。

 

4)说明

  上面的例子只是简要的看一下logstash的工作方式。

  INPUT(多种自由选择)采集数据,FILTER处理转换(多种自由选择,也可以不要),OUTPUT输出(多种自由选择)。