首页/云/可观测性速查/AWS EC2 服务发现(ec2_sd_configs)
Prometheus 与采集64 条

AWS EC2 服务发现(ec2_sd_configs)

在 AWS 上用 ec2_sd_configs 自动发现实例:按区域与过滤条件选取目标,再经 relabel 生成 instance 与业务标签,免去维护静态目标清单。

可观测性速查云更新于 2026-10-13

ec2_sd_configs 是什么

在 AWS 上用 ec2_sd_configs 自动发现实例:指定区域与过滤条件后,Prometheus 通过 AWS API 拉取实例列表并生成抓取目标,再经 relabel 生成 instance 与业务标签,免去维护静态目标清单。实例扩容、替换 IP 后监控目标会自动刷新,适合弹性伸缩频繁的环境。

基本信息

主要配置region(必需)、port、filters、role_arn、refresh_interval
权限要求需具备 ec2:DescribeInstances,建议用实例角色或环境凭据
刷新方式按刷新间隔调用 AWS API 拉取实例列表并更新目标
标签来源__meta_ec2_* 系列元标签,含实例属性与实例标签

常用元标签

标签含义用途
__meta_ec2_instance_id实例 ID跳转控制台、关联账单与变更单
__meta_ec2_private_ip私有 IP常见做法是改写成 instance 标签
__meta_ec2_public_ip公网 IP跨网络访问时使用,口径要与私有 IP 统一
__meta_ec2_tag_Name实例 Name 标签作为实例可读名,便于看图定位
__meta_ec2_tag_Env实例自定义标签把环境、团队等业务标签带进监控

配置示例

配置示例
- job_name: node
  ec2_sd_configs:
    - region: us-east-1
      port: 9100
      refresh_interval: 60s
      filters:
        - name: tag:Monitoring
          values: [enabled]
        - name: instance-state-name
          values: [running]
  relabel_configs:
    - source_labels: [__meta_ec2_private_ip]
      target_label: instance
    - source_labels: [__meta_ec2_tag_Name]
      target_label: instance_name
    - source_labels: [__meta_ec2_tag_Env]
      target_label: env

典型使用场景

  • EC2 实例频繁扩缩容,静态目标清单维护成本过高
  • 按实例标签筛选需要监控的机器,例如只抓 Monitoring=enabled 的实例
  • 跨多个区域部署时每个区域一个 job 分别发现
  • 配合自动伸缩组,实例替换后监控目标自动跟随更新
filters 的名称分两类:以 tag: 开头的是实例标签过滤,其它是实例属性过滤(如 instance-state-name、vpc-id);写错不会报错,只是匹配不到目标。
私有 IP 与公网 IP 混用会让 instance 标签在不同网络环境间跳变,上线前统一口径并写进文档,避免图表出现成倍的重复序列。

上线检查项

  • 确认执行抓取的实例具备 DescribeInstances 权限,且不依赖长期密钥
  • 用小范围 filters 验证目标数量与预期一致,再放开监控范围
  • 核对抓取端点到被监控实例的网络连通性,安全组与子网路由都要通
  • 确认标签命名约定(Env、Team、Monitoring)已在实例上统一打标

易错点

  • filters 名称里 tag: 前缀区分标签过滤与实例属性过滤,写错不会报错只是匹配不到目标
  • 私有 IP 与公网 IP 混用会使 instance 标签在不同网络环境间跳变,上线前要统一定口径
  • 访问密钥写进配置文件或提交到仓库,泄露后攻击者可列举整个账号的实例
  • 区域与账号变更多而配置没有同步,新增区域的实例长期不在监控范围

数据来源与参考

  • Prometheus 文档 · ec2_sd_config
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌