如何监控 AWS MSK 集群中 Kafka Brokers 的磁盘空间使用情况

问题描述

我们需要监控在 AWS MSK 集群中运行的 Kafka broker 的磁盘空间使用情况。

Kafka 发出了几个指标,可用于监控各个方面。但是我找不到任何监控每个代理的“磁盘使用情况”的特定指标。

虽然,这取决于消息和日志保留策略以及各种主题中新事件的发生率,但我们如何预测我们的代理是否会在接下来的 1 天内耗尽磁盘(或我们希望作为安全阈值的任何持续时间) ).

如果我们可以监控每分钟(或每小时)的事件负载和事件的平均大小,它可以帮助进行此计算。我指的是可用指标的 Apache Kafka 文档,但我也找不到。

avg(rate(kafka_server_brokerTopicmetrics_FifteenMinuterate{ name="BytesInPerSec"}[1h]))/avg(rate(kafka_server_brokerTopicmetrics_FifteenMinuterate{ name="BytesOutPerSec"}[1h]))

在 PQL 上尝试过。如果有人可以建议 ByteIn/ByteOut 的健康范围,则可以放心使用。

非常感谢所有指针。

解决方法

节点文件系统的可用指标可以直接使用。 Kafka 不会为此目的公开任何特定的指标。所以我重新使用了以下用于 eks 集群的指标:

node_filesystem_free_bytes / node_filesystem_size_bytes < 0.2

我们对 EKS 集群节点文件系统监控使用了类似的指标。这具有相同的目的,并提供了 MSK 集群中任何 kafka 代理上的可用磁盘空间的概念(只需在每个指标中添加过滤器)

,

MSK 使用两种方式公开指标。

两者都支持您正在寻找的指标。