为消息服务 CKafka 配置告警
1. 登录 腾讯云可观测平台。
2. 单击告警管理 > 策略管理 > 新建策略。
3. 进入新建告警策略页,填写如下信息:
配置项 | 说明 |
策略名称 | 输入策略名称,最多60个字符 |
备注 | 输入备注,最多100个字符 |
监控类型 | 选择云产品监控 |
策略类型 | 选择消息服务 CKafka > 实例/ConsumerGroup |
策略所属项目 | 选择策略所属项目。所属项目用于告警策略的分类和权限管理,与云产品实例的项目没有强绑定关系 |
所属标签 | 选择策略所属标签 |
告警对象 | 选择具体实例作为告警对象 |
触发条件 | 支持手动配置触发告警的条件,如已有触发条件模板满足需求,也可以直接选择模板 |
| 支持添加事件进行事件告警配置 |
配置告警通知 | 支持新建或需选择已有的告警通知模板 |
4. 设置完成后,单击完成。
建议配置的核心告警指标及对应阈值
告警指标 | 统计粒度 | 判断条件 | 阈值 | 持续周期 | 告警方式 |
磁盘使用百分比 | 统计粒度1分钟 | > | 80% | 持续5个数据点 | 每三十分钟告警一次 |
实例连接数百分比 | 统计粒度1分钟 | > | 80% | 持续5个数据点 | 每三十分钟告警一次 |
实例生产带宽百分比 | 统计粒度1分钟 | > | 80% | 持续5个数据点 | 每三十分钟告警一次 |
实例消费带宽百分比 | 统计粒度1分钟 | > | 80% | 持续5个数据点 | 每三十分钟告警一次 |
消费分组未消费消息大小 | 统计粒度1分钟 | > | 100000 | 持续5个数据点 | 每一小时告警一次 |
分区未消费消息个数 | 统计粒度1分钟 | > | 100000 | 持续5个数据点 | 每三十分钟告警一次 |
“消息服务 CKafka - 实例”策略建议核心告警指标
磁盘使用百分比 > 80%
注:代表集群容量使用率,集群容量使用率达到 100% 会被写封禁,影响用户写入,所以需要用户注意提前扩容。
实例连接数百分比 > 80%
注:预防实例连接数过多,导致实例无法建立更多连接造成客户端无法访问 Ckafka 集群。
实例生产带宽百分比 > 80%
注:实例生产带宽百分比 (占用配额百分比),预防生产带宽过高,导致生产消息失败。
实例消费带宽百分比 > 80%
注:实例消费带宽百分比 (占用配额百分比),预防消费带宽过高,导致消费消息失败。
“消息服务 CKafka - ConsumerGroup - Topic”策略建议核心告警指标
消费分组未消费消息大小 > 100000MB
注:需要根据需求来设置阈值的大小,防止消费数据过慢,导致消息积压,预防业务中消费消息的实时性。
“消息服务 CKafka - ConsumerGroup - Partition”策略建议核心告警指标
分区未消费消息个数 > 100000
注:需要根据需求来设置阈值的大小,防止消费数据过慢,导致消息积压,预防业务中消费消息的实时性,同时预防客户端出现 Rebalance。
如何避免客户端出现 Rebalance?
消息队列 Kafka 的 Consumer 没有独立线程维持心跳,而是把心跳维持与 poll 接口耦合在一起,如果用户消费出现卡顿会导致心跳超时,引发 Rebalance,对应的解决方案如下:
1. 尽量提高消费速度;
2. max.poll.records 设置小一点,这个参数是配置控制心跳的超时事件,可以由客户端自行设置;
3. session.timeout.ms 设置大一点,这个参数控制每次 poll 返回的最大消息数量。