

# 抓取程序配置
<a name="managed-prometheus-collectors-scraper-configuration"></a>

Amazon CloudWatch 托管式 Prometheus 收集器使用与 Prometheus 兼容的 YAML 配置，以定义收集器如何抓取指标。在创建或更新抓取程序时，可以将此配置作为 Base64 编码 Blob 予以提供。配置使用标准的 Prometheus 抓取配置格式，但有一些特定于托管式收集器的限制。

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

## 支持的配置部分
<a name="managed-prometheus-collectors-scraper-configuration-supported"></a>

Prometheus 抓取配置支持以下顶级部分：
+ `global`：全局设置，包括 `scrape_interval`、`scrape_timeout` 和 `external_labels`。
+ `scrape_configs`：抓取任务的列表，每个任务定义目标以及抓取方式。

在每个 `scrape_configs` 条目中，支持以下字段：
+ `job_name`：抓取任务的唯一名称。
+ `metrics_path`：要抓取的 HTTP 路径（默认为 `/metrics`）。
+ `scheme`：协议方案（`http` 或 `https`）。
+ `scrape_interval`：全局抓取间隔的每任务覆盖。
+ `scrape_timeout`：全局抓取超时的每任务覆盖。
+ `static_configs`：目标的静态列表。
+ `dns_sd_configs`：基于 DNS 的服务发现。
+ `relabel_configs`：抓取前应用的重新标记规则。
+ `metric_relabel_configs`：抓取后应用的重新标记规则。
+ `tls_config`：HTTPS 目标的 TLS 配置。

## 示例配置
<a name="managed-prometheus-collectors-scraper-configuration-example"></a>

以下示例演示基本的抓取配置：

```
global:
  scrape_interval: 60s
  scrape_timeout: 10s
  external_labels:
    environment: production

scrape_configs:
  - job_name: 'my-service'
    metrics_path: /metrics
    scheme: http
    static_configs:
      - targets:
          - '{{10.0.1.10}}:9090'
          - '{{10.0.1.11}}:9090'
        labels:
          team: platform
    relabel_configs:
      - source_labels: [__address__]
        target_label: instance
    metric_relabel_configs:
      - source_labels: [__name__]
        regex: 'go_.*'
        action: drop
```

## 限制
<a name="managed-prometheus-collectors-scraper-configuration-limits"></a>
+ 最短 `scrape_interval` 为 30 秒。
+ 托管式收集器不支持基于文件的服务发现（`file_sd_configs`）。
+ 托管式收集器不支持 Consul、Eureka 或其他外部服务发现机制。
+ 远程写入和远程读取配置不适用，因为收集器负责处理向 CloudWatch 的传输。
+ 配置大小上限为 256KB。

## 问题排查
<a name="managed-prometheus-collectors-scraper-configuration-troubleshooting"></a>

如果抓取程序未按预期收集指标，请检查以下内容：
+ 验证连接到抓取程序的安全组是否允许出站流量流向目标端口。
+ 确认目标可从在抓取程序配置中指定的子网进行访问。
+ 检查 `dns_sd_configs` 中使用的 DNS 名称是否在 VPC 内得到正确解析。
+ 确保目标在配置的 `metrics_path` 上以有效的 Prometheus 展览格式进行响应。

有关其他故障排除指南，请参阅《Amazon Managed Service for Prometheus 用户指南》**中的[托管式收集器故障排除](https://docs.amazonaws.cn/prometheus/latest/userguide/AMP-troubleshooting.html)。