

# 集成 Amazon EKS
<a name="managed-prometheus-collectors-eks-setup"></a>

Amazon CloudWatch 托管式 Prometheus 收集器会抓取与 Prometheus 兼容的指标。有关与 Prometheus 兼容的指标的更多信息，请参阅[与 Prometheus 兼容的指标有哪些？](https://docs.amazonaws.cn/prometheus/latest/userguide/what-is-prometheus-compatible-metrics.html)。Amazon EKS 集群会公开 API 服务器的指标。Kubernetes 版本 1.28 或更高版本的 Amazon EKS 集群还公开 kube-scheduler 和 kube-controller-manager 的指标。有关更多信息，请参阅《Amazon EKS 用户指南》**中的[获取 Prometheus 格式的控制面板原始指标](https://docs.amazonaws.cn/eks/latest/userguide/prometheus.html)。

《Amazon Managed Service for Prometheus 用户指南》**提供详细的设置说明。有关配置 Amazon EKS 集群、访问条目和 ConfigMap 设置的说明，请参阅[为 Amazon EKS 设置托管式收集器](https://docs.amazonaws.cn/prometheus/latest/userguide/AMP-collector-how-to.html)。

**注意**  
收集器使用标识其来源的属性丰富每个 Amazon EKS 指标，这些属性包括检测范围、Amazon 账户和区域、推断单位以及集群名称和集群 ARN。使用 PromQL 查询指标时，可以对这些属性进行筛选和分组。

## 创建具有 CloudWatch 目标的抓取程序
<a name="managed-prometheus-collectors-eks-create-scraper"></a>

您可以使用 [GetDefaultScraperConfiguration](https://docs.amazonaws.cn/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html) 以检索通用抓取程序配置，也可以提供自己的抓取程序配置。

------
#### [ Amazon API ]

使用 `CreateScraper` API 操作，以便创建具有 CloudWatch 目标的抓取程序。将 Amazon 账户、安全组、子网、Amazon EKS 集群及数据集信息替换为您自己的值。

```
POST /scrapers HTTP/1.1

{
  "alias": "eks-metrics-scraper",
  "source": {
    "eksConfiguration": {
      "clusterArn": "arn:aws:eks:{{us-west-2}}:{{123456789012}}:cluster/{{my-cluster}}",
      "securityGroupIds": ["{{sg-security-group-id}}"],
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"]
    }
  },
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

------
#### [ Amazon CLI ]

使用 `create-scraper` 命令，以便创建具有 CloudWatch 目标的抓取程序。将 Amazon 账户、安全组、子网、Amazon EKS 集群及数据集信息替换为您自己的值。

```
aws amp create-scraper \
  --alias "eks-metrics-scraper" \
  --source eksConfiguration="{clusterArn='arn:aws:eks:{{us-west-2}}:{{123456789012}}:cluster/{{my-cluster}}', \
    securityGroupIds=['{{sg-security-group-id}}'], \
    subnetIds=['{{subnet-subnet-id-1}}','{{subnet-subnet-id-2}}']}" \
  --scrape-configuration configurationBlob=$(cat {{eks-config.yaml}} | base64 -w 0) \
  --destination cloudWatchConfiguration="{datasetArn='arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default'}"
```

------

## 查看自动控制面板
<a name="managed-prometheus-collectors-eks-dashboards"></a>

在收集器开始将 Amazon EKS 指标传输至 CloudWatch 之后，CloudWatch 控制台会提供名为 **EKS OTel** 的自动控制面板。要将其打开，请访问 [EKS OTel](https://console.amazonaws.cn/cloudwatch/home?#dashboards/templates/eks-otel)，或登录 Amazon 管理控制台，打开 CloudWatch 控制台，在导航窗格中选择**控制面板**，接着选择**自动控制面板**，然后选择 **EKS OTel**。无需自行构建任何小组件或控制面板，即可开始监控集群。

如果自动控制面板满足您的需求，即可直接使用。要打造量身定制的监控体验，您可以将其中的任何小组件添加到自定义控制面板中。有关自定义控制面板的更多信息，请参阅[使用 CloudWatch 控制面板](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

## 跨账户可观测性
<a name="managed-prometheus-collectors-eks-cross-account"></a>

对于跨账户 Amazon EKS 监控，建议使用 Amazon CloudWatch 指标集中化。有关更多信息，请参阅 [CloudWatch 指标集中化](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。

有关其他跨账户抓取程序配置，请参阅《Amazon Managed Service for Prometheus 用户指南》**中的[跨账户抓取程序](https://docs.amazonaws.cn/prometheus/latest/userguide/AMP-collector-cross-account.html)。