抓取程序配置
Amazon CloudWatch 托管式 Prometheus 收集器使用与 Prometheus 兼容的 YAML 配置,以定义收集器如何抓取指标。在创建或更新抓取程序时,可以将此配置作为 Base64 编码 Blob 予以提供。配置使用标准的 Prometheus 抓取配置格式,但有一些特定于托管式收集器的限制。
您可以使用 GetDefaultScraperConfiguration 以检索通用抓取程序配置,也可以提供自己的抓取程序配置。
支持的配置部分
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 配置。
示例配置
以下示例演示基本的抓取配置:
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 用户指南》中的托管式收集器故障排除。