可观测监控 Prometheus 版提供一键安装配置自建Kafka类型的组件,并提供开箱即用的专属监控大盘。
背景信息
可观测监控 Prometheus 版提供了自建Kafka的监控接入能力,支持容器服务(包含ACK、ASK、注册集群等)和ECS这两个环境类型的Kafka监控,且提供基础和高级两个版本:
Kafka(基础版):包括收集Broker数量、Topic分区、消息组Lag等基础指标,Kafka服务端无需您进行任何配置或重启操作。接入Kafka(基础版)组件的具体操作,请参见下文接入Kafka(基础版)组件。
Kafka(高级版):除基础版能力外,通过JMX Agent,可收集生产者、服务端、消费者及其内部各模块的重要指标,实现全链路、一体化的专家级Kafka监控,需要您手动进行JMX Agent注入和进程重启操作。接入Kafka(高级版)组件的具体操作,请参见下文接入Kafka(高级版)组件。
功能入口一:集成中心
- 登录ARMS控制台。
- 在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
单击目标Prometheus实例名称,进入集成中心页面。
功能入口二:接入中心
登录ARMS控制台。
在左侧导航栏单击接入中心,然后在组件应用区域单击Kafka(基础版)或者Kafka(高级版)卡片的添加,然后在弹出的页面根据控制台指引完成组件接入。
接入Kafka(基础版)组件
这里以接入中心入口为例,介绍接入Kafka(基础版)组件的操作,具体步骤如下。
步骤一:接入Kafka(基础版)组件
登录ARMS控制台。
在左侧导航栏单击接入中心,然后在组件应用区域单击Kafka(基础版)卡片的添加,然后在弹出的页面按照如下步骤完成接入。
在STEP1区域选择Kafka所部署的环境。
在STEP2区域选择Kafka所在的Prometheus实例。
在STEP3区域的配置页签配置相关参数,然后单击确定。
参数
说明
Exporter名称
当前Kafka监控唯一命名。
kafka地址
填写Kafka Broker的连接地址。多个Broker地址之间使用半角逗号或分号来分隔。
容器服务内,则可以使用Kafka Broker的IP或Service地址。
ECS环境内,则可以使用Kafka Broker的IP或DNS地址。
metrics采集间隔(秒)
监控数据采集时间间隔。
kafka版本
选择Kafka服务端的版本号,目前最高支持v3.2.0版本。
开启SASL
选择Kafka服务端是否使用SASL。
SASL用户名
如果开启SASL,则需要填写对应的用户名。
SASL密码
如果开启SASL,则需要填写对应的用户密码。
SASL方法
选择SASL方法,目前支持plain、scram-sha512和scram-sha256。
开启TLS
选择Kafka服务端是否使用TLS。
忽略TLS安全校验
如果Kafka服务端开启TLS,且是自签名证书,则选择忽略TLS安全校验。
步骤二:查看Kafka(基础版)组件状态
- 登录ARMS控制台。
- 在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
- 单击目标Prometheus实例名称,进入集成中心页面。
单击已安装区域的Kafka(基础版)卡片,在弹出的面板中查看大盘、指标等信息。
Target:您可以在Targets页签查看集成默认Job发现的Targets列表。
指标:您可以在指标页签查看具体的指标信息并对指标进行废弃配置。具体操作,请参见配置指标。
大盘:您可以在大盘页签,单击大盘缩略图,查看对应Grafana大盘。
Kafka基础版监控大盘主要展示以下几点,如下图所示:
Kafka Broker数量。
每个Topic的分区数。
每个Topic的消息入/出/堆积数量。
每个Topic的ISR(In-Sync Replicas)数量。
告警:您可以在告警页签,查看Kafka(基础版)的Prometheus告警。如下图所示,可以看到目前可观测监控 Prometheus 版提供4个关键告警指标,您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见Prometheus告警规则。
服务发现配置:您可以在服务发现配置页签对默认基础监控Job进行操作,例如编辑抓取时间间隔、关闭采集Job等。
Exporter:您可以在Exporter页签查看默认安装的
node-exporter
以及对应的版本号信息。
接入Kafka(高级版)组件
这里以接入中心入口为例,介绍接入Kafka(高级版)组件的操作,具体步骤如下。
步骤一:接入Kafka(高级版)组件
登录ARMS控制台。
在左侧导航栏单击接入中心,然后在组件应用区域单击Kafka(高级版)卡片的添加,然后在弹出的页面按照如下步骤完成接入。
在STEP1区域选择Kafka所部署的环境。
在STEP2区域选择Kafka所在的Prometheus实例。
在STEP3区域的配置页签配置相关参数,然后单击确定。
参数
说明
exporter名称
当前Kafka监控唯一命名。
kafka实例名称
Kafka实例名称,通过该名称可以将Kafka Producer、Broker和Consumer进行关联,实现Topic全链路的大盘展示。
Pod/ECS标签(服务发现)
部署JMX Agent时,为Pod/ECS配置的标签和标签值,可观测监控 Prometheus 版通过此标签进行服务发现(Service Discovery)。
Pod/ECS标签值
JMX Agent监听端口
部署JMX Agent时配置的监听端口。
metrics采集路径
可观测监控 Prometheus 版采集JMX Agent的HTTP Path,默认是
/metrics
。metrics采集间隔(秒)
监控数据采集时间间隔。
步骤二:查看Kafka(高级版)组件状态
- 登录ARMS控制台。
- 在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
- 单击目标Prometheus实例名称,进入集成中心页面。
单击已安装区域的Kafka(高级版)卡片,然后在弹出的面板中查看指标、大盘、告警等信息。
Target:您可以在Targets页签查看集成默认Job发现的Targets列表。
指标:您可以在指标页签查看具体的指标信息并对指标进行废弃配置。具体操作,请参见配置指标。
大盘:您可以在大盘页签,单击大盘缩略图,查看对应Grafana大盘。高级版监控提供了Intance和Topic两个视角的大盘,具体详情如下:
自建Kafka Instance大盘
展示Kafka Broker内部各项指标:
核心指标:展示Broker数量、OffLine分区数、Under Replicated分区数、Controller数量、CPU及网络等关键信息。
JVM指标:展示JVM的内存和GC关键信息。
分区指标:展示分区数量、ISR、Unclean Leader选举、Replica Lag、Offline分区、Under Replicated分区等明细信息。
时间指标:展示Produce、Request、Fetch等各个环境的时间指标。
集群流量指标:展示集群的总体流量指标。
Broker流量指标:展示Broker粒度的流量明细指标。
自建Kafka Topic大盘
展示各个Kafka Topic全链路指标:
Producer:展示Producer端的关键指标,包括消息发送速度、消息压缩率、发送延迟等。
Server(即Kafka Broker):展示该Topic对应的分区数、入/出消息速率、入/出消息流量。
Consumer:展示消息消费速率、消费延迟和Rebalance等。
告警:您可以在告警页签,查看Kafka(高级版)的Prometheus告警。如下图所示,可以看到目前可观测监控 Prometheus 版提供Producer、Instance和Consumer相关的告警指标,具体如下。
自建Kafka Producer:提供了消息发送失败率、消息发送耗时、消息发送重试率等3个告警指标,方便用户对Producer端的异常进行告警。
自建Kafka Instance:提供了分区数量过多、存在OffLine分区、存在UnClean Leader选举、存在Under Replicated分区、有效Broker数量减少、有效Controller数量、实例消息拒绝量、实例消息流入/出量、Topic消息流入/出量等13个告警指标,覆盖了Kafka Broker各方面异常。
自建Kafka Consumer:提供了消息消费堆积告警指标,通过该告警规则,您能够及时掌握消费异常情况。
您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见Prometheus告警规则。
服务发现配置:您可以在服务发现配置页签对默认基础监控Job进行操作,例如编辑抓取时间间隔、关闭采集Job等。
Exporter:您可以在Exporter页签查看默认安装的
node-exporter
以及对应的版本号信息。