ELK(ElasticSearch、Logstash、Kibana )的组合,是一种比较常见的数据采集分析进行可视化展示的技术方案,这里重点展示介绍下logstash的用法。
借用官方的介绍:https://www.elastic.co/cn/products/logstash
集中、转换和存储数据
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。
下面,用一个比较直接的图形,表示其功能和关系。
简单的汇总logstash的工作流程:输入->过滤->输出
1、输入过程:
采集各种样式、大小和来源的数据
数据往往以各种各样的形式,或分散或集中地存在于很多系统中。 Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据
2、过滤
实时解析和转换数据
数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。
利用 Grok 从非结构化数据中派生出结构 从 IP 地址破译出地理坐标 将 PII 数据匿名化,完全排除敏感字段 简化整体处理,不受数据源、格式或架构的影响我们的过滤器库丰富多样,拥有无限可能。
输出:
选择您的存储库,导出您的数据
尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。
Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。
另外,logstash是基于java开发的,jdk1.8以上即可。另外,提供了丰富的插件,研发人员,也可以开发自己的插件。用官方的话,有了
插件,就让服务有无数的可能。
接下来,我将会对目前的各个服务的Nginx日志进行采集分析,然后进行可是化展示。这些工作,就要借助于ELK的组合了。