概述

Logstash管道可以配置多个输入插件,这可以将不同源头的数据整合起来做统一处理。在分布式系统中,数据都分散在不同的容器或不同的物理机上,每一份数据往往又不完整,需要类似Logstash这样的工具将数据收集起来。比如在微服务环境下,日志文件就分散在不同机器上,即使是单个请求的日志也有可能分散在多台机器上。如果不将日志收集起来,就无法查看一个业务处理的完整日志。

Logstash管道也可以配置多个输出插件,每个输出插件代表一种对数据处理的业务需求。比如对日志数据存档就可以使用s3输出插件,将日志数据归档到S3存储服务上;还可以使用elasticsearch输出插件,将数据索引到Elasticsearch中以便快速检索等。

在业务系统创建之初,人们对于数据究竟会产生什么样的价值并不清楚。但随着人们对于业务系统理解的深入,对数据处理的新需求会迸发出来。面对新需求,只要为Logstash管道添加新的输出插件就能立即与新的数据处理需求对接起来,而对已有数据处理业务又不会产生任何影响。当目前为止,Logstash对于常见的数据处理需求都可以很好的对接,这包括数据归档存储、数据分析处理、数据监控报警等。

在开始接收这些插件前,先来介绍两个最简单的插件,即stdin输入插件和stdout插件。这两个插件分别代表标准输入和标准输出,也就是命令行控制台。由于它们比较简单,所以一般不需要做任何配置就可以直接使用。stdin只有一组通用参数,这些参数不仅对stdin有效,对其他输入插件也有效。表13.1输入插件通用参数

logstash 配置两个es logstash配置多个输入_数据


表13.2 输出插件通用参数

logstash 配置两个es logstash配置多个输入_elasticsearch_02

13.1 beats与elasticsearch插件