前言
观测云
观测云 [1] 是一款专为云平台、云原生、应用及业务相关需求设计的统一实时监测应用,集成了指标、日志和追踪三大信号,覆盖测试、预发和生产环境,实现对软件开发全生命周期的可观测性。通过观测云,企业能够构建完整的应用全链路可观测性,提升整体 IT 架构的透明度和可控性。 作为一个强大的数据分析平台,观测云包括多个核心模块,如 DataKit [2] 统一数据采集器和 DataFlux Func 数据处理开发平台。
AutoMQ
AutoMQ [3],是基于云原生理念重新设计的新一代 Apache Kafka 发行版,在 100% 兼容 Apache Kafka 协议的前提下提供了高达 10 倍的成本优势和弹性优势。并且 AutoMQ 将数据完全存储在 S3 上,因此在集群扩容时无需数据复制即可快速应对突发的流量洪峰。相比之下,Apache Kafka 在扩容后需要大量带宽进行分区数据的复制,难以应对突发流量。通过自动扩缩容、自动流量平衡和自动故障恢复等功能,AutoMQ 实现了系统的高度自治,无需人工干预即可实现更高水平的可用性。AutoMQ 的共享存储结构:
AutoMQ 的可观测接口
由于 AutoMQ 对 Kafka 的完全兼容,并且支持开放基于 Prometheus 的 Metrics 收集端口,因此可以利用观测云提供的数据采集工具 DataKit 与观测云平台进行集成。方便用户对 AutoMQ 集群的状态进行监测和管理,并且观测云平台支持用户自定义地对 Metrics 数据进行聚合以及查询,通过给定的仪表盘模板或者自定义仪表盘,可以有效地对 AutoMQ 集群的各种信息进行统计,比如常见 Topics, Brokers, Partitions 以及 Group 统计数据。 除此之外,根据 Metrics 可观测数据,也可以查询到 AutoMQ 集群运行过程中遇到的错误情况以及当前系统的各种占用指标,如 JVM CPU 占用,JVM 堆占用和缓存大小,这些指标都能够帮助在集群发送异常的情况下,迅速的发现问题并进行解决,这对于系统的高可用和快速恢复都是非常有利的。接下来,本文将介绍如何使用观测云平台进行 AutoMQ 集群状态的监测。集成观测云的步骤
AutoMQ 开启 Metric 拉取接口
参考 AutoMQ 文档:Linux 主机部署多节点集群▸ 部署启动前,添加如下配置参数开启 Prometheu的拉取接口。通过以下参数启动 AutoMQ 集群以后,每个节点将会额外开放一个 HTTP 接口供拉取 AutoMQ 的监控指标。指标的格式均遵循 Prometheus Metrics 的格式。http://{node_ip}:8890
,响应结果示例如下:
安装和配置 DataKit 采集工具
DataKit 是一款由观测云提供的开源的监控采集工具,支持 Promethues Metrics 的拉取。可以通过 DataKit 来拉取 AutoMQ 上的监控数据汇总到观测云平台。安装 DataKit 工具
Tips: 更多 DataKit 安装细节参考文档:主机安装 - 观测云文档 [6]。首先,注册观测云账号并登录,随后在主界面点击左侧「集成」选择顶部「DataKit」,即可看到 DataKit 的安装命令:
Tips: 集群中所有需要被监控的 Broker 都需要安装 DataKit.执行安装命令成功后使用命令
datakit monitor
可以验证 DataKit 是否成功安装。

AutoMQ 采集器配置与生效
这里要在每个待采集数据的节点所在的服务器上配置好 DataKit 的 AutoMQ 采集器配置。进入目录/usr/local/datakit/conf.d/prom
,创建一个采集器配置文件 prom.conf
。采集器配置会包括开放的可观测数据接口、采集器名称、prom 实例名以及重要的采集间隔 interval 等,你可以根据需要对每个服务器上的配置进行一些调整:
urls | AutoMQ 指标地址,这里填写对应组件暴露出来的指标 url |
---|---|
source | 采集器别名,建议做区分 |
interval | 采集间隔,指定了采集器进行采集数据的间隔 |
datakit service -R
重启该节点的 DataKit 生效采集器配置。
通过观测云可视化管理 AutoMQ 集群
观测云平台已经集成了 AutoMQ 并且提供了多个默认的仪表盘,可以前往 仪表盘示例 [7] 查看。下面是其中几种常用模板示例,我们介绍一下他们的功能:集群监控
主要显示的是当前活跃 Broker 的数量,以及总的 Topics 数量、Partitions 分区数量等,除此之外,也可以指定具体查询哪个节点,这个可以在 Cluster_id 里选择。
Broker 监控
观测云的AutoMQ Broker
仪表盘描述了所有 Broker 的一些指标、比如连接数、分区数、每秒接受到的消息数量 ops 以及每秒输入和输出的数据量,单位是 Byte。

Topic 监控
这里就是对于所有节点中包含的所有 Topic 的信息总览了,当然你也可以像上面介绍的那样,指定查询某个节点下的 Topic 信息。这些指标主要包括每个 Topic 占用的空间大小,以及接受到的消息数量,还有 Request Throughput 表示单位时间内处理请求的能力。