# Sample scrape config for CloudWatch managed Prometheus collector (EC2 Node Exporter)
# Context: Prometheus scrape YAML for CreateScraper configurationBlob (base64-encode before API call).
# Assumed setup: Node Exporter on port 9100; private DNS names; us-east-1 VPC; 30s scrape.
# Docs: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Solution-Prometheus-On-EC2.html
#
# Replace targets with your instance private DNS names or IPs.
# Keep metric_relabel_configs aggressive — cardinality is the bill.

global:
  scrape_interval: 30s
  scrape_timeout: 10s

scrape_configs:
  - job_name: ec2-node-exporter
    static_configs:
      - targets:
          - ip-10-0-1-10.ec2.internal:9100
          - ip-10-0-2-20.ec2.internal:9100
    metrics_path: /metrics
    relabel_configs:
      - target_label: service
        replacement: node-exporter
      - target_label: environment
        replacement: prod
    metric_relabel_configs:
      # Drop high-cardinality / unused node_exporter families early
      - source_labels: [__name__]
        regex: 'node_network_.*|node_disk_io_time_weighted_seconds_total|go_.*|promhttp_.*'
        action: drop
      - source_labels: [__name__]
        regex: 'node_cpu_seconds_total|node_memory_MemAvailable_bytes|node_filesystem_avail_bytes|node_load1|node_load5|node_load15'
        action: keep
