本文所使用的是阿里云Elasticsearch和Logstash,单击此处免费试用阿里云Elasticsearch,单击此处免费试用阿里云Logstash。
阿里云Elasticsearch兼容开源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商业功能,致力于数据分析、数据搜索等场景服务。支持5.5.3、6.3.2、6.7.0、6.8.0和7.4.0等多个版本,并提供了商业插件X-Pack服务。在开源Elasticsearch的基础上提供企业级权限管控、安全监控告警、自动报表生成等功能。
阿里云Logstash(简称Logstash)作为服务器端的数据处理管道,提供了100%兼容开源Logstash的能力。Logstash能够动态地从多个来源采集数据、转换数据,并且将数据存储到所选择的位置。通过输入、过滤和输出插件,Logstash可以对任何类型的事件加工和转换。阿里云Logstash除了支持所有官方预置插件外,还致力于打造包含logstash-input-sls、logstash-input-oss、logstash-output-oss等适用各类场景的插件中心,为您提供更为强大的数据处理和搬迁能力,实现云上数据生态打通。
在**阿里云ELK(Elasicsearch、Logstash、Kibana)**生态下,Elasticsearch作为实时分布式搜索和分析引擎,Kibana为Elasticsearch提供了强大的可视化界面,Logstash提供了数据采集、转换、优化和输出的能力,可以被广泛应用于实时日志处理、全文搜索和数据分析等领域。
文章目录
本文使用Beats、Elasticsearch、Logstash和Kibana,在分布式环境下采集、汇聚、解析阿里云RocketMQ客户端SDK日志,帮助您在消息队列开发场景中快速定位并解决应用开发问题。
背景信息
阿里云Elasticsearch(简称ES)已具备Elastic Stack全栈套件:Elasticsearch、Logstash、Kibana和Beats,具有日志汇聚、快速分析、可视化展示等能力,与开源产品相比具有以下优势:
- Beats和Logstash服务部署在专有网络VPC(Virtual Private Cloud)中,所有数据私网通信,高速且安全。
- B-ELK组件“0部署,轻运维”,省去了在分布式环境下逐个节点安装与配置Beats采集器的繁琐工作,同时解决了分布式消息中间件日志分散、采集困难的问题。
- 支持在控制台快速添加和移除Beats实例,能够适应RocketMQ的弹性伸缩特性。
本方案使用的产品包括:阿里云消息队列RocketMQ版和阿里云Elasticsearch阿里云Elasticsearch,方案架构如下。
操作流程
-
完成创建阿里云ES实例和Logstash实例、开通RocketMQ消息队列服务、创建ECS实例并在实例中安装云助手和Docker服务。各实例或服务的功能如下:
- RocketMQ消息队列服务:提供RocketMQ资源,包括实例、Topic、Group。
- ECS实例:安装Filebeat并运行RocketMQ测试工程,生成客户端日志。
- 阿里云Logstash实例:通过管道配置将Filebeat采集的日志同步到阿里云ES中。
- 阿里云ES实例:对日志进行分析,并进行可视化展示。
说明: 请确保阿里云ES实例、Logstash实例和ECS实例在同一专有网络VPC(Virtual Private Cloud)下。
-
通过Filebeat将RocketMQ的客户端日志采集到Logstash中。
-
通过管道配置,使用Grok filter插件处理Filebeat采集的RocketMQ客户端日志,然后同步到阿里云ES中。