Amazon CloudWatch 解决方案:Amazon MSK 洞察
此解决方案可帮助您在 CloudWatch 中监控 Amazon MSK 集群,而无需运行或扩展自己的收集基础设施。在 Amazon MSK 集群上启用开源监控系统时,集群会通过 JMX Exporter 和 Node Exporter 公开 Prometheus 指标,Amazon CloudWatch 托管式 Prometheus 收集器会抓取这些指标并将传输至 CloudWatch。有关所有 CloudWatch 可观测性解决方案的一般信息,请参阅 CloudWatch 可观测性解决方案。有关完整的收集器设置演练,包括抓取程序创建和示例抓取配置,请参阅 集成 Amazon MSK。
要求
此解决方案适用于以下情况:
-
处于预配置模式的 Amazon MSK 集群,配备标准代理或快速代理。托管式收集器不支持 Amazon MSK 无服务器集群。
-
已在集群上启用开源监控系统,这会公开 JMX Exporter(端口 11001)和 Node Exporter(端口 11002)。
-
已启用 DNS 的 Amazon VPC,以及至少两个位于不同可用区的子网,可供收集器使用。
-
允许收集器访问代理端口 11001 和 11002 的安全组。
启用托管式收集器
要使用托管式收集器收集 Amazon MSK 指标,需要在集群上启用开源监控系统,然后创建连接 VPC 的收集器,该收集器会抓取代理端点并将指标传输至 CloudWatch 数据集。收集器连接到 VPC,并使用基于 DNS 的服务发现抓取所有代理,因此监控系统能够灵活应对代理更换和集群扩展。如需分步指导,请参阅 集成 Amazon MSK。
注意
仅使用 --open-monitoring 参数即可公开 Prometheus 端口 11001 和 11002 上的端点。增强监控层级(如 PER_TOPIC_PER_PARTITION)与开源监控系统相互独立,可能会产生额外费用,因此请仅在需要该级别的 Amazon MSK 指标时才进行设置。
Amazon MSK 详细监控级别
除收集器抓取的 Prometheus 指标以外,Amazon MSK 还会在多个监控级别向 CloudWatch 发布其自有指标。每个级别都建立在前一级别的基础上,并提供更精细的操作可见性。可在创建或更新集群时选择监控级别。以下列出级别摘要。有关每个级别的完整指标列表,请参阅《Amazon MSK 开发人员指南》中的使用 CloudWatch 监控的 Amazon MSK 指标。
-
基本监控(
DEFAULT):默认级别,无其他费用。包含集群级别和代理级别的指标,例如代理数量、分区数量、传入/传出的字节数及消息数、CPU 利用率和网络 I/O。 -
增强的代理级监控(
PER_BROKER):包括基本监控以及更精细的每代理指标,需支付额外费用。 -
增强的主题级监控(
PER_TOPIC_PER_BROKER):包括增强的代理级监控以及每主题指标,可更精细地了解各代理的主题性能,需支付额外费用。 -
增强的分区级监控(
PER_TOPIC_PER_PARTITION):最详细的级别。包括增强的主题级监控以及精细的每分区指标(例如延迟补偿),需支付额外费用。
注意
Amazon MSK 将详细监控指标发布到经典 CloudWatch 指标,可使用 GetMetricData API 进行查询。要在开源监控系统 Prometheus 指标旁边提供详细监控指标,需启用 OpenTelemetry 扩充功能。有关更多信息,请参阅 OpenTelemetry 指标扩充。
查看自动控制面板
在收集器开始将 Amazon MSK 指标传输至 CloudWatch 之后,CloudWatch 控制台会提供名为 MSK OTel 的自动控制面板。要将其打开,请访问 MSK OTel
成本
按小时对 Prometheus 收集器收费,且适用 CloudWatch OpenTelemetry 指标摄取定价。更高的 Amazon MSK 监控级别还会产生额外的每月费用。有关 CloudWatch 定价的信息,请参阅 Amazon CloudWatch 定价