操作场景
CKafka 专业版支持高级监控功能,您可以在控制台查看核心服务、生产、消费和 Broker GC 等指标,方便运维人员在使用 CKafka 时进行排障处理。
本章节为您介绍如何在控制台查看高级监控指标,并说明高级监控指标含义。
操作步骤
1. 登录 CKafka 控制台。
2. 在实例列表中,单击需要查看的“实例 ID/名称”,进入实例详情页。
3. 在实例详情页顶部,单击监控 > 高级监控,选择要查看的指标页签,设置好时间范围,可以查看监控数据。
监控信息展示
说明
您可以单击以下页签,查看核心服务、生产、消费、实例资源和 Broker GC 的监控信息的具体展示。
监控指标说明
说明
您可以单击以下页签,查看核心服务、生产、消费、实例资源和 Broker GC的监控指标的详细说明。
监控指标 | 指标说明 | 正常值范围 |
网络空闲度 | 用于衡量实例当前网络并发处理剩余的 IO 资源,越接近1越空闲。 | 该值一般在0.5 - 1之间波动,小于0.3表示负载较高。 |
请求队列深度 | 反映当前未处理的生产请求个数,如果该值过大可能是同一时间请求量过大,CPU 负载过高或者磁盘 IO 出现瓶颈。 | 如果持续等于2000,表示集群负载比较高。 小于2000的时候可忽略。 |
未同步副本数 | 集群中存在的未同步的副本个数,当实例存在未同步副本,表示集群的健康度可能存在问题。 | 曲线如果长期大于5(原因是有一些腾讯云内置的 Topic 的分区可能会处于离线状态,跟业务无关),表示需要处理集群。 偶尔 Broker 波动,值凸起后,一段时间后,又回归平稳,属于正常现象。 |
ZK 断连次数 | 无正常值范围。 ZK 断连次数是累加的,次数越大不表示集群有问题,指标仅供参见。 | |
ISR 扩充次数 | Kafka ISR 扩充次数,即存在未同步副本的情况下,当未同步副本追上 leader 数据,会重新加入 ISR,此时该次数就会加1。 | 无正常值范围,当集群出现波动时,会出现扩充。 如果非长时间大于0,无需关注。 |
ISR 缩小次数 | Kafka ISR 收缩次数,即当出现 Broker 宕机,Zookeeper 重连的情况,会出现 ISR 缩小的次数统计。 | 无正常值范围,当集群出现波动时,会出现收缩。 如果非长时间大于0,无需关注。 |
监控指标 | 指标说明 | 正常值范围 |
Broker节点生产限流次数 | 各个Broker节点触发生产限流的次数。 | - |
Broker节点生产流量(Bytes) | 各个Broker节点的生产流量。 | - |
最大生产流量(Bytes/s) | 各个Broker节点的最大生产流量。 | - |
生产总时耗 | 表示生产请求的总耗时,由请求队列耗时,本地耗时,延时回包耗时等指标汇总而成。 在每一个时间点,总耗时不等于以下五个耗时的累加,因为每个指标都是各自取平均得到的,故不累加相等。 | 一般值在0 - 100ms之间,数据量大的时候0 - 1000ms的耗时属于正常范围。 只要不长时间大于1000ms,可以不用处理。 |
请求队列耗时 | 生产请求在接收请求队列内等待的时间,表示请求包等待后续的进程处理。 | 一般值在0 - 50ms之间,数据量大的时候0 - 200ms的耗时属于正常范围。 只要不长时间大于200ms,可以不用处理。 |
本地处理耗时 | 生产请求在 Leader Broker 处理的时间,即从请求队列拿出请求包,写入到本地 page cache 的时间。 | 一般值在0 - 50ms之间,数据量大的时候0 - 200ms的耗时属于正常范围。 只要不长时间大于200ms,可以不用处理。 |
ack 等待耗时 | 生产请求等待数据同步的耗时,当客户端 ack = -1时该值才会大于0,即只要 ack = 1或者0,该值都是0。 | 一般值在0 - 200ms之间,数据量大的时候0 - 500ms的耗时属于正常范围。 只要不长时间大于500ms,可以不用处理。 跨可用区的实例当 ack = -1时,该值会比非跨可用区的实例高,具体参见 跨可用区部署。 |
延时回包耗时 | 生产请求被系统延时回包的耗时,当实例的流量没超过购买流量时,该值都为0,如果被限流,则会大于0。 | 当实例不超限时,该值长期为0。 如果实例超限,会根据超限的比例,延时0 - 5分钟,即该值最大为5分钟。 |
回包队列耗时 | 生产请求在回包队列的等待耗时,表示请求包在等待被发送给客户端。 | 一般值在0 - 50ms之间,数据量大的时候0 - 200ms的耗时属于正常范围。 只要不长时间大于200ms,可以不用处理。 |
监控指标 | 指标说明 | 正常值范围 |
Broker节点消费限流次数 | 各个Broker节点触发消费限流的次数。 | - |
Broker节点消费流量(Bytes) | 各个Broker节点的消费流量。 | - |
最大消费流量(Bytes/s) | 各个Broker节点的最大消费流量。 | - |
消费总时耗 | 表示消费的总耗时,由请求队列耗时,本地耗时等指标汇总而成。 在每一个时间点,总耗时不等于以下五个耗时的累加,因为每个指标都是各自取平均得到的,故不累加相等。 | 一般值会在于500ms - 1000ms之间(客户端默认的fetch.max.wait.ms=500ms),数据量大的时候500 - 5000ms的耗时属于正常范围。 |
请求队列耗时 | 消费请求在请求队列内等待的时间,表示请求包等待后续的进程处理。 | 一般值在0 - 50ms之间,数据量大的时候0 - 200ms的耗时属于正常范围。 只要不长时间大于200ms,可以不用处理。 |
本地处理耗时 | 消费请求在 Leader Broker 拉取数据的时间,即从本地磁盘读取数据。 | 一般值在0 - 500ms之间,数据量大的时候0 - 1000ms的耗时属于正常范围。 只要不长时间大于1000ms,可以不用处理,因为消费有可能会有读冷数据的情况,此时耗时会较高。 |
消费等待耗时 | 客户端默认的 fetch.max.wait.ms = 500ms,即表示客户端允许在读不到数据的时候,服务端等待多久返回包给客户端。 | 一般值会在于500ms左右(客户端默认的 fetch.max.wait.ms = 500ms),该值的大小取决于客户端的参数设置。 |
延时回包耗时 | 消费请求被系统延时回包的耗时,当实例的流量没超过购买流量时,该值都为0,如果被限流,则会大于0。 | 当实例不超限时,该值长期为0。 如果实例超限,会根据超限的比例,延时0 - 5分钟,即该值最大为5分钟。 |
回包队列耗时 | 消费请求在回包队列的等待耗时,表示请求包在等待被发送给客户端。 | 一般值会在于0 - 50ms之间,数据量大的时候0 - 200ms的耗时属于正常。 只要不长时间大于200ms,就可以不用处理。 |
监控指标 | 指标说明 | 正常值范围 |
CPU 使用率(%) | CPU 使用率是某进程在一段时间内占用的 CPU 时间占总的 CPU 时间的百分比。 | 该值一般会在 1-100 之间。 持续5个以上周期范围内在90以上,则表示系统负载很高,需要处理排查。 |
磁盘使用率(%) | CVM 云服务器挂载硬盘的使用情况 | 该值一般会在 0-100之间。 如果该值达到80以上,则需要进行扩容处理。 |
内网入带宽(MB) | 内网入带宽是指 CVM 在集群内通信能够达到的带宽,根据不同的规格限制内网带宽和内网收包能力。 | 该值一般会大于0(集群内 CVM 监控会有数据产生)。 如果没有入带宽产生则代表 CVM 服务异常,或网络异常不可到达。 |
内网出带宽(MB) | 内网出带宽是指CVM在集群内通信能够达到的带宽,根据不同的规格限制内网带宽和内网发包能力。 | 该值一般会大于0(集群内CVM监控会有数据产生)。 如果没有出带宽产生则代表 CVM 服务异常,或网络异常不可到达。 |
内存利用率(%) | 内存总空间减去所有内存可用空间占用内存总空间的百分比为内存利用率 | 正常取值范围1-100。 如果内存使用率达到90以上,则代表程序占用内存过高,需要对某些进程处理。 |
公网入带宽(MB) | 公网入带宽是指CVM在公网通信能达到的带宽,根据不同规格限制公网带宽和外网收包能力。 | 有公网入流量下会大于0,否则为0。 |
公网出带宽(MB) | 公网出带宽是指CVM在公网通信能达到的带宽,根据不同规格限制公网带宽和外网发包能力。 | 有公网出流量下会大于0,否则为0。 |
监控指标 | 指标说明 | 正常值范围 |
年轻代回收次数 | Broker Yong GC 的次数 | 正常在0 - 300之间。 如果持续高于300,则需要调整 GC 参数。 |
老年代回收次数 | Broker Full GC 的次数 | 正常为0。 如果有出现大于0的情况,则需要处理。 |
监控指标异常原因
以下列举了部分监控指标异常原因说明。
指标 | 异常原因说明 |
集群负载(%) | 当单 AZ 部署,集群负载达到 70% 以上时; 2 AZ 部署时,集群常态负载超过 35% ;3 AZ 部署时,集群常态负载超过 47% 时,此时带宽使用率低但是集群负载高,需要结合集群负载指标进行集群带宽扩容。 |
CPU 使用率(%) | 当发现持续5个周期以上,使用率达到90%以上,可先确认下是否存在消息压缩和消息格式转换。如果客户端机器 CPU 资源很充足那么建议开启 snappy 压缩。可同时观察请求队列深度,如果该值过大可能是同一时间请求量过大,也可以造成 CPU 负载过高。 |
未同步副本数(Count) | 当出现大于 0 的个数时,即代表集群中存在的未同步的副本个数,当实例存在未同步副本,通常情况下是由于 Broker 节点异常或网络因素,可通过 Broker 日志来排查原因。 |
FullGC 次数(Count) | |
请求队列深度(Count) | 客户端生产消费出现超时而云服务器负载却正常的情况下,说明单台服务器的请求队列已达到最大上限,默认单台节点broker的请求队列长度是默认的配置是 500,可根据购买的资源配置情况适当调整(联系 在线客服)。 |