View a markdown version of this page

抓取程序配置 - Amazon CloudWatch

抓取程序配置

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

您可以使用 GetDefaultScraperConfiguration 以检索通用抓取程序配置,也可以提供自己的抓取程序配置。

支持的配置部分

Prometheus 抓取配置支持以下顶级部分:

  • global:全局设置,包括 scrape_intervalscrape_timeoutexternal_labels

  • scrape_configs:抓取任务的列表,每个任务定义目标以及抓取方式。

在每个 scrape_configs 条目中,支持以下字段:

  • job_name:抓取任务的唯一名称。

  • metrics_path:要抓取的 HTTP 路径(默认为 /metrics)。

  • scheme:协议方案(httphttps)。

  • scrape_interval:全局抓取间隔的每任务覆盖。

  • scrape_timeout:全局抓取超时的每任务覆盖。

  • static_configs:目标的静态列表。

  • dns_sd_configs:基于 DNS 的服务发现。

  • relabel_configs:抓取前应用的重新标记规则。

  • metric_relabel_configs:抓取后应用的重新标记规则。

  • tls_config:HTTPS 目标的 TLS 配置。

示例配置

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

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

限制

  • 最短 scrape_interval 为 30 秒。

  • 托管式收集器不支持基于文件的服务发现(file_sd_configs)。

  • 托管式收集器不支持 Consul、Eureka 或其他外部服务发现机制。

  • 远程写入和远程读取配置不适用,因为收集器负责处理向 CloudWatch 的传输。

  • 配置大小上限为 256KB。

问题排查

如果抓取程序未按预期收集指标,请检查以下内容:

  • 验证连接到抓取程序的安全组是否允许出站流量流向目标端口。

  • 确认目标可从在抓取程序配置中指定的子网进行访问。

  • 检查 dns_sd_configs 中使用的 DNS 名称是否在 VPC 内得到正确解析。

  • 确保目标在配置的 metrics_path 上以有效的 Prometheus 展览格式进行响应。

有关其他故障排除指南,请参阅《Amazon Managed Service for Prometheus 用户指南》中的托管式收集器故障排除