通过云监控实时监测云消息队列 Kafka 版的实例、Topic、Group 资源状态。当监控项数据超过设定阈值时,云监控通过电话、短信、邮件、钉钉机器人等方式发送报警通知,帮助及时应对异常情况。
监控项
监控项的数据聚合周期为 1 分钟,即每分钟计算一次,数据为该周期内的平均值。
监控项的数据延时约 1 分钟。
云消息队列 Kafka 版在云监控的 Namespace 为 acs_kafka,ProductCategory 为 kafka,共包含 39 个监控项(适用于 V2 预留实例版本),按资源类型分为实例级、ConsumerGroup 级和 Topic 级。
实例级监控项
监控项名称 | Metric ID | Dimensions | 单位 |
实例生产请求 TP50 大小 |
| instanceId | Byte |
实例生产请求 TP999 大小 |
| instanceId | Byte |
实例 CPU 使用率 |
| instanceId | % |
实例消费限流队列大小 |
| instanceId | count |
实例高可用切换事件 |
| instanceId | count |
实例公网读取带宽(节点维度) |
| instanceId, node_name | bit/s |
实例公网读取带宽使用率(节点维度) |
| instanceId, node_name | % |
实例公网写入带宽(节点维度) |
| instanceId, node_name | bit/s |
实例公网写入带宽使用率(节点维度) |
| instanceId, node_name | % |
实例最大连接数 |
| instanceId | count |
实例最大公网连接数 |
| instanceId | count |
实例最大读 IOPS(Input/Output Operations Per Second) |
| instanceId | count/s |
实例最大写 IOPS |
| instanceId | count/s |
生产流量在实例规格占比 |
| instanceId | % |
消费流量在实例规格占比 |
| instanceId | % |
实例生产限流队列大小 |
| instanceId | count |
实例 Rebalance 耗时 |
| instanceId | ms |
实例当前连接总数 |
| instanceId | count |
实例当前公网连接总数 |
| instanceId | count |
分区在实例规格占比 |
| instanceId | % |
实例磁盘使用率(显示实例各节点中磁盘使用率的最大值) |
| instanceId | % |
实例公网读取带宽 |
| instanceId | bit/s |
实例公网写入带宽 |
| instanceId | bit/s |
实例业务实际流入流量 |
| instanceId | B/s |
实例消息生产条数 |
| instanceId | count/s |
实例业务实际流出流量 |
| instanceId | B/s |
实例消息发送次数 |
| instanceId | count/s |
实例消息消费次数 |
| instanceId | count/s |
ConsumerGroup 级监控项
监控项名称 | Metric ID | Dimensions | 单位 |
Group 消费条数 |
| instanceId, consumerGroup | count/min |
Group 在某 Topic 消费条数 |
| instanceId, consumerGroup, topic | count/min |
Group 最近一条消费耗时 |
| instanceId, consumerGroup, topic | ms |
Group 消息堆积总量 |
| instanceId, consumerGroup | count |
Group 在某 Topic 消息堆积量 |
| instanceId, consumerGroup, topic | count |
Topic 级监控项
监控项名称 | Metric ID | Dimensions | 单位 |
Topic 消息流入流量 |
| instanceId, topic | B/s |
Topic 消息生产条数 |
| instanceId, topic | count/s |
Topic 消息流出流量 |
| instanceId, topic | B/s |
Topic 消费与生产流量比 |
| instanceId, topic | % |
Topic 消息发送次数 |
| instanceId, topic | count/s |
Topic 消息消费次数 |
| instanceId, topic | count/s |
消费类监控指标依赖客户端提交消费位点:Group 消息堆积总量(
message_accumulation)等消费相关监控指标,依赖客户端主动提交消费位点(Offset)。若客户端未正确提交位点(例如未启用自动提交或手动提交失败),监控数据将无法准确反映实际消费进度,可能出现堆积量虚高、触发告警误报等情况。请确保消费客户端已正确配置消费位点提交机制。判断是否发生限流应查看限流队列大小指标:如需判断是否触发了服务端限流,请关注实例消费限流队列大小(
InstanceFetchThrottleQueueSizeV2)和实例生产限流队列大小(InstanceProduceThrottleQueueSizeV2)指标。仅当该类指标值大于 0 时,才表示实际发生了限流并可能影响业务;少量流量超限通常有弹性缓冲,不会立即影响业务。流量使用率类指标反映节点级使用情况,注意秒级与分钟级的差异:生产流量在实例规格占比(
InstanceMessageInputRatioV2)等流量使用率类指标,反映的是节点级别的流量使用情况。由于 Kafka 默认采用 3 副本且发送能力在各节点间均分,当流量出现倾斜(例如定时聚批发送导致发送峰值集中),即使实例整体平均速率未达规格上限,单节点秒级流量也可能瞬间超标,导致相关指标显示偏高。此外,监控图表展示的是分钟级平滑数据,而实际限流触发基于秒级采集,二者存在差异,请结合限流队列大小指标综合判断。
计费说明
使用云监控功能云消息队列 Kafka 版不收取费用。
前提条件
创建服务关联角色
角色名称:AliyunServiceRoleForAlikafka
角色策略名称:AliyunServiceRolePolicyForAlikafka
权限说明:允许云消息队列 Kafka 版使用该角色访问相关服务(云监控和 ARMS 服务)以完成云监控相关功能。
具体文档说明:服务关联角色。
查看云监控数据
在概览页面的资源分布区域,选择地域。
在实例列表页面,单击目标实例名称。
在左侧导航栏,选择。
在云监控页面,单击报警规则页签,单击要查看监控数据的资源页签,找到要查看监控数据的资源,单击其右侧操作列的云监控,设置时间范围,查看监控数据。
页面会自动显示当前资源所有的监控项图表。
设置报警规则
在云监控页面,单击报警规则,选择实例、Topic 或 Group 资源页签,设置报警规则。
页面将跳转至云监控控制台的创建报警规则面板。
在创建报警规则面板按提示设置规则和通知信息,然后单击确定。具体参数设置,请参见创建报警规则。
规则创建成功后,在报警规则页签中可查看新创建的规则,确认状态为已启用。
示例:为 Group 消息积压配置钉钉机器人告警
如需在 Group 消费堆积量超出阈值时,将告警通知发送到钉钉机器人,请按以下步骤操作。
前提条件:已在云监控控制台将钉钉机器人添加为报警联系人或联系人组。如尚未配置,请先登录云监控控制台,完成钉钉机器人联系人的添加。
登录云消息队列 Kafka 版控制台,在左侧导航栏选择。
在云监控页面,单击报警规则页签,再单击 Group 子页签。
找到需要配置告警的目标 Group,单击其操作列的创建报警规则。
页面将在新窗口打开云监控控制台的报警规则创建页面。
在云监控控制台的报警规则创建页面,配置以下关键参数:
监控指标:选择 MessageAccumulationV3(Group 消息堆积量,单位:count)。
告警条件:设置消息堆积量的统计周期和告警阈值(例如:统计周期 1 分钟,堆积量连续 N 次超过阈值时触发告警)。
通知方式:在通知联系人或联系人组中,勾选已配置的钉钉机器人联系人。
单击确认,完成报警规则创建。
返回云消息队列 Kafka 版控制台,在报警规则页签中查看新创建的规则,确认状态列显示为已启用。
查看报警信息
在云监控页面,单击报警规则,然后单击要查看报警信息的资源(实例、Topic 或 Group)页签。
找到具体的资源名称,单击操作列的报警规则。
在关联的报警规则面板,选择目标报警规则,单击其操作列的详情,支持查看、启用/禁用、删除报警规则,以及查看报警历史。
常见问题
Q:云监控是否支持 CPU、内存及日均写入量统计?
A:
CPU 和内存监控:云消息队列 Kafka 版的云监控不直接提供 CPU 和内存监控指标。如需监控底层系统资源使用情况,请参考 Prometheus 监控方案,详情请参见本文末尾"相关文档"中的 Prometheus 监控文档。
日均写入量统计:云监控不提供直接的日均写入量统计视图,可通过以下方式估算:
控制台查看(近似估算):在实例详情的 Topic 管理页面,查看目标 Topic 的监控信息中的写入流量(B/s);或在云监控页面查看实例业务实际流入流量(
instance_message_input,单位 B/s)和实例消息生产条数(instance_message_num_input,单位 count/s),根据时间范围内的平均值乘以时间长度估算日写入量。Prometheus 监控(精细查询):通过 Prometheus 监控查询
instance_message_input(bytes/s)和instance_message_num_input(个/秒)等实例级指标,利用 Prometheus 的时序聚合函数统计指定时间段内的累计写入量。详情请参见本文末尾"相关文档"中的 Prometheus 监控文档。API 查询(精确估算):使用 QueryMessage API 按时间戳查询消费位点,通过起始时间和终止时间的位点差值精确估算该时间段内的写入消息量。
相关文档
实例的 Prometheus 监控数据,请参见Prometheus监控。
关于监控报警的更多常见问题,请参见监控报警问题。