AutoMQ 可观测性实践:如何使用 OpenTelemetry 监控 Kafka 和底层流存储

前言

我们在之前的文章里介绍了 AutoMQ 如何与 Prometheus、观测云[1]、夜莺监控[2]等后端进行集成并实现对 AutoMQ 的监控,本文将进一步介绍 AutoMQ 的可观测性架构,以及 AutoMQ 如何实现多云可观测性。

可观测架构

Apache Kafka 的 Server 侧主要依赖 YammerMetrics[3] 这一第三方 Library 实现了指标的定义和采集,并通过将指标注册到 MBeans Server 的方式对外暴露观测接口,在实际集成过程中,还需要结合诸如 jmx_exporter[4] 之类的第三方 agent 来完成与可观测后端的集成。而 AutoMQ 作为一款面向云重新设计的流处理平台,自然需要更加原生化的可观测方式,而 OpenTelemetry[5](下简称 OTel) 作为当前云原生应用可观测性框架的事实标准,自然成为了 AutoMQ 的首选。AutoMQ 的整体可观测架构如下图所示,本节将分采集、导出、可观测后端、可视化前端四个部分进行介绍。

采集

在采集侧,AutoMQ 保留了 Apache Kafka 的原生指标采集链路,并通过 OTel 社区的 JMXMetrics Library 完成从 JMX 到 OTLP 格式的指标转换。对于 AutoMQ 自身新增的指标,则全部使用了 OTel SDK 进行采集。

导出

基于 Apache Kafka MetricsReporter 接口:

  • JmxReporter:即上文提到的 Apache Kafka 的原生指标导出方式,通过 YammerMetrics Library 将指标以 JMX 形式导出

  • AutoBalancerMetricsReporter:AutoMQ 实现的内部指标采集器,主要用于采集节点和分区维度的负载相关指标并写入内部 Topic

基于 OTLP SDK:

  • PrometheusMetricsExporter:基于 OTel SDK 的 PrometheusHttpServer 实现,AutoMQ 自身作为 HTTP Server 对外暴露端口,以被动拉取的方式提供 Prometheus 格式的指标

  • OpsMetricsExporter:AutoMQ 实现的基于对象存储的指标上报组件,可定时将采集到的指标进行序列化后上传至指定的对象存储 Bucket 中,以实现便捷的跨云跨账号的指标共享和分析

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值