Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

基于RocketMQ Prometheus Exporter 打造定制化DevOps平台

$
0
0

本文将对RocketMQ-Exporter的设计实现做一个简单的介绍,读者可以通过本文了解到RocketMQ-Exporter的实现过程,以及通过RocketMQ-Exporter来搭建自己的RocketMQ监控系统。该项目的git 地址https://github.com/apache/rocketmq-exporter

文章主要内容包含以下几个方面:

  1. RocketMQ介绍
  2. Prometheus简介
  3. RocketMQ-Exporter的具体实现
  4. RocketMQ-Exporter的监控指标和告警指标
  5. RocketMQ-Exporter使用示例

RocketMQ介绍

RocketMQ是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。简单的来说,它由Broker服务器和客户端两部分组成,其中客户端一个是消息发布者客户端(Producer),它负责向Broker服务器发送消息;另外一个是消息的消费者客户端(Consumer),多个消费者可以组成一个消费组,来订阅和拉取消费Broker服务器上存储的消息。正由于它具有高性能、高可靠性和高实时性的特点,与其他协议组件在MQTT等各种消息场景中的结合也越来越多,应用越来越广泛。而对于这样一个强大的消息中间件平台,在实际使用的时候还缺少一个监控管理平台。而当前在开源界,使用最广泛监控解决方案的就是Prometheus。与其它传统监控系统相比较,Prometheus具有易于管理,监控服务的内部运行状态,强大的数据模型,强大的查询语言PromQL,高效的数据处理,可扩展,易于集成,可视化,开放性等优点。并且借助于Prometheus可以很快速的构建出一个能够监控RocketMQ的监控平台。

Prometheus简介

下图展示了Prometheus的基本架构:

Prometheus Server

Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。 Prometheus Server可以通过静态配置管理监控目标,也可以配合使用Service Discovery的方式动态管理监控目标,并从这些监控目标中获取数据。其次Prometheus Server需要对采集到的监控数据进行存储,Prometheus Server本身就是一个时序数据库,将采集到的监控数据按照时间序列的方式存储在本地磁盘当中。最后Prometheus Server对外提供了自定义的PromQL语言,实现对数据的查询以及分析。


Viewing all articles
Browse latest Browse all 1638

Trending Articles