

# Amazon CloudWatch 解决方案：Amazon MSK 洞察
<a name="Solution-Prometheus-On-MSK"></a>

此解决方案可帮助您在 CloudWatch 中监控 Amazon MSK 集群，而无需运行或扩展自己的收集基础设施。在 Amazon MSK 集群上启用开源监控系统时，集群会通过 JMX Exporter 和 Node Exporter 公开 Prometheus 指标，Amazon CloudWatch 托管式 Prometheus 收集器会抓取这些指标并将传输至 CloudWatch。有关所有 CloudWatch 可观测性解决方案的一般信息，请参阅 [CloudWatch 可观测性解决方案](Monitoring-Solutions.md)。有关完整的收集器设置演练，包括抓取程序创建和示例抓取配置，请参阅 [集成 Amazon MSK](managed-prometheus-collectors-msk-setup.md)。

**Topics**
+ [要求](#Solution-Prometheus-On-MSK-Requirements)
+ [启用托管式收集器](#Solution-Prometheus-On-MSK-Enable-Collector)
+ [Amazon MSK 详细监控级别](#Solution-Prometheus-On-MSK-Detailed-Monitoring)
+ [查看自动控制面板](#Solution-Prometheus-On-MSK-Dashboards)
+ [成本](#Solution-Prometheus-On-MSK-Costs)

## 要求
<a name="Solution-Prometheus-On-MSK-Requirements"></a>

此解决方案适用于以下情况：
+ 处于预配置模式的 Amazon MSK 集群，配备标准代理或快速代理。托管式收集器不支持 Amazon MSK 无服务器集群。
+ 已在集群上启用开源监控系统，这会公开 JMX Exporter（端口 11001）和 Node Exporter（端口 11002）。
+ 已启用 DNS 的 Amazon VPC，以及至少两个位于不同可用区的子网，可供收集器使用。
+ 允许收集器访问代理端口 11001 和 11002 的安全组。

## 启用托管式收集器
<a name="Solution-Prometheus-On-MSK-Enable-Collector"></a>

要使用托管式收集器收集 Amazon MSK 指标，需要在集群上启用开源监控系统，然后创建连接 VPC 的收集器，该收集器会抓取代理端点并将指标传输至 CloudWatch 数据集。收集器连接到 VPC，并使用基于 DNS 的服务发现抓取所有代理，因此监控系统能够灵活应对代理更换和集群扩展。如需分步指导，请参阅 [集成 Amazon MSK](managed-prometheus-collectors-msk-setup.md)。

**注意**  
仅使用 `--open-monitoring` 参数即可公开 Prometheus 端口 11001 和 11002 上的端点。增强监控层级（如 `PER_TOPIC_PER_PARTITION`）与开源监控系统相互独立，可能会产生额外费用，因此请仅在需要该级别的 Amazon MSK 指标时才进行设置。

## Amazon MSK 详细监控级别
<a name="Solution-Prometheus-On-MSK-Detailed-Monitoring"></a>

除收集器抓取的 Prometheus 指标以外，Amazon MSK 还会在多个监控级别向 CloudWatch 发布其自有指标。每个级别都建立在前一级别的基础上，并提供更精细的操作可见性。可在创建或更新集群时选择监控级别。以下列出级别摘要。有关每个级别的完整指标列表，请参阅《Amazon MSK 开发人员指南》**中的[使用 CloudWatch 监控的 Amazon MSK 指标](https://docs.amazonaws.cn/msk/latest/developerguide/metrics-details.html)。
+ **基本监控**（`DEFAULT`）：默认级别，无其他费用。包含集群级别和代理级别的指标，例如代理数量、分区数量、传入/传出的字节数及消息数、CPU 利用率和网络 I/O。
+ **增强的代理级监控**（`PER_BROKER`）：包括基本监控以及更精细的每代理指标，需支付额外费用。
+ **增强的主题级监控**（`PER_TOPIC_PER_BROKER`）：包括增强的代理级监控以及每主题指标，可更精细地了解各代理的主题性能，需支付额外费用。
+ **增强的分区级监控**（`PER_TOPIC_PER_PARTITION`）：最详细的级别。包括增强的主题级监控以及精细的每分区指标（例如延迟补偿），需支付额外费用。

**注意**  
Amazon MSK 将详细监控指标发布到经典 CloudWatch 指标，可使用 `GetMetricData` API 进行查询。要在开源监控系统 Prometheus 指标旁边提供详细监控指标，需启用 OpenTelemetry 扩充功能。有关更多信息，请参阅 [OpenTelemetry 指标扩充](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch-OTelEnrichment.html)。

## 查看自动控制面板
<a name="Solution-Prometheus-On-MSK-Dashboards"></a>

在收集器开始将 Amazon MSK 指标传输至 CloudWatch 之后，CloudWatch 控制台会提供名为 **MSK OTel** 的自动控制面板。要将其打开，请访问 [MSK OTel](https://console.amazonaws.cn/cloudwatch/home?#dashboards/templates/msk-otel)，或登录 Amazon 管理控制台，打开 CloudWatch 控制台，在导航窗格中选择**控制面板**，接着选择**自动控制面板**，然后选择 **MSK OTel**。无需自行构建任何小组件或控制面板，即可开始监控集群。如果自动控制面板满足您的需求，即可直接使用。要打造量身定制的监控体验，您可以将其中的任何小组件添加到自定义控制面板中。有关自定义控制面板的更多信息，请参阅[使用 CloudWatch 控制面板](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

## 成本
<a name="Solution-Prometheus-On-MSK-Costs"></a>

按小时对 Prometheus 收集器收费，且适用 CloudWatch OpenTelemetry 指标摄取定价。更高的 Amazon MSK 监控级别还会产生额外的每月费用。有关 CloudWatch 定价的信息，请参阅 [Amazon CloudWatch 定价](https://www.amazonaws.cn/cloudwatch/pricing/)。