ObservaStack

prometheus/prometheus.yml

# Larkspur Grocers is fictional. Hosts are placeholders, not a live estate.
global:
  scrape_interval: 15s
  evaluation_interval: 15s
  external_labels:
    env: prod
    cluster: larkspur-demo

rule_files:
  - ../rules/recording/*.yml
  - ../rules/alerts/*.yml

alerting:
  alertmanagers:
    - static_configs:
        - targets:
            - alertmanager.larkspur.example:9093

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets:
          - prometheus.larkspur.example:9090
        labels:
          service_src: prometheus
          team_src: platform
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: alertmanager
    static_configs:
      - targets:
          - alertmanager.larkspur.example:9093
        labels:
          service_src: alertmanager
          team_src: platform
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: storefront
    file_sd_configs:
      - files:
          - targets/storefront.yml
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: orders-api
    file_sd_configs:
      - files:
          - targets/orders-api.yml
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src
    metric_relabel_configs:
      # Example of dropping a high-cardinality label before it is stored.
      - action: labeldrop
        regex: user_id

  - job_name: payments-worker
    file_sd_configs:
      - files:
          - targets/payments-worker.yml
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: node
    file_sd_configs:
      - files:
          - targets/node.yml
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: postgres
    file_sd_configs:
      - files:
          - targets/postgres.yml
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src

  - job_name: blackbox-http
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
          - https://www.larkspur.example/
          - https://orders.larkspur.example/healthz
          - https://status.larkspur.example/
        labels:
          service_src: blackbox
          team_src: platform
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox.larkspur.example:9115

  - job_name: blackbox-tls
    metrics_path: /probe
    params:
      module: [tls_expiry]
    static_configs:
      - targets:
          - www.larkspur.example:443
          - orders.larkspur.example:443
        labels:
          service_src: blackbox
          team_src: platform
    relabel_configs:
      - source_labels: [service_src]
        target_label: service
      - source_labels: [team_src]
        target_label: team
      - action: labeldrop
        regex: service_src|team_src
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: blackbox.larkspur.example:9115