7.4.3.3. 警报规则示例
Kafka 和 ZooKeeper 指标的警报规则示例随 AMQ Streams 提供,供 Prometheus 部署 使用。
关于警报规则定义的常规要点:
-
for
属性与规则配合使用,以确定条件在触发警报前必须保留的时间。 -
tick 是一个基本的 ZooKeeper 时间单元,以毫秒为单位计算并使用
Kafka.spec.zookeeper.config
的tickTime
参数进行配置。例如,如果 ZooKeepertickTime=3000
,3 ticks(3 x 3000)等于 9000 毫秒。 -
ZookeeperRunningOutOfSpace
指标和警报的可用性取决于所使用的 OpenShift 配置和存储实施。某些平台的存储实施可能无法提供有关指标提供警报所需的可用空间的信息。
Kafka 警报规则
UnderReplicatedPartitions
-
提供当前代理是潜在副本但副本数比为
min.insync.replicas 配置的
副本数更少的分区数量。这个指标提供了有关托管后续副本的代理的信息。这些追随者跟不上领导者的步调。其原因可能包括(或已经)脱机,以及过限内联复制。当此值大于零时引发警报,以提供关于每个代理的副本分区的信息。 AbnormalControllerState
- 指示当前代理是否为集群的控制器。指标可以是 0 或 1。在集群生命周期内,应该只有一个代理是控制器,集群始终需要有一个活跃的控制器。有两个或多个代理表示它们是控制器,这表示问题。如果条件仍然存在,则当所有代理上此指标的所有值总和不等于 1 时,就会引发警报,即没有活跃的控制器(总和为 0)或多个控制器(总和大于 1)。
UnderMinIsrPartitionCount
-
表示领导 Kafka 代理的最小内同步副本(ISR)数量最少(使用
min.insync.replicas
指定),必须确认没有达到写入操作。指标定义代理所负责的分区数量,其中同步副本数小于最小内同步副本数。当这个值大于零时引发警报,为没有达到最小确认数的每个代理提供分区数的信息。 OfflineLogDirectoryCount
- 指明离线的日志目录数量(例如,由于硬件故障),以便代理无法再存储传入的消息。如果此值大于零,则会引发警报,以提供关于每个代理的离线日志目录数量的信息。
KafkaRunningOutOfSpace
-
表示可用于写入数据的剩余磁盘空间量。当此值低于 5GiB 时,将引发警报,提供关于每个持久卷声明的空间不足的磁盘信息。阈值可以在
prometheus-rules.yaml
中更改。
zookeeper 警报规则
AvgRequestLatency
- 表示服务器响应客户端请求所需的时间。当此值大于 10(勾号)时,会引发警报,从而提供每台服务器平均请求延迟的实际值。
OutstandingRequests
- 表示服务器中的排队请求数。当服务器接收的请求数超过其处理次数时,这个值会增加。如果此值大于 10,则会引发警报,从而为每个服务器提供实际的待处理请求数。
ZookeeperRunningOutOfSpace
- 表示可用于向 ZooKeeper 写入数据的剩余磁盘空间量。当此值低于 5GiB 时,会引发警报。它提供有关每个持久卷声明的空间不足的磁盘信息。