# my global config
global:
  #scrape_interval: 1m # Set the interval to scrape data. Default is every 1 minute.
  #evaluation_interval: 1m # Set interval to evaluate rules. The default is every 1 minute.
  #scrape_timeout: 10s # Set scrape timeout period. global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'node_exporter'
    scrape_interval: 5s
    static_configs:
    - targets: ['10.0.0.137:10091','10.0.0.137:10092']

  - job_name: 'blackbox'
    scrape_interval: 30s
    metrics_path: /probe
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
    static_configs:
      - targets:
        - https://bitwarden.jaytaala.com
        - https://confluence.jaytaala.com
        - https://chat.jaytaala.com
        - http://crowd:8095/crowd
        - https://gitlab.jaytaala.com
        - https://url.jaytaala.com
        - https://opstoolkit.unswcanberraspace.com
        - https://opstoolkit-dev.unswcanberraspace.com
        - https://confluence.unswcanberraspace.com
        - https://bitbucket.unswcanberraspace.com
        - https://jira.unswcanberraspace.com
        - https://crowd.unswcanberraspace.com
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: bbexp:9115  # The blackbox exporter's real hostname:port.

    metric_relabel_configs:
      # create domain label
      - source_labels: [instance] 
        regex: '.*?[.](.*)'
        replacement: '$1'
        target_label: domain
      - source_labels: [domain] 
        regex: '^$'
        replacement: 'jaytaala.com'
        target_label: domain

      # create shortname label
      - source_labels: [instance] 
        regex: '.*/(.+?)[:.].*'
        replacement: '$1'
        target_label: shortname

      # instance relabling
      # make copy of instance to use later
      - source_labels: [instance] 
        target_label: __tmp
      # those with subdomains passthrough, if not instance will be empty
      - source_labels: [instance] 
        regex: '.*/(.*[.].*)'
        replacement: '$1'
        target_label: instance
      # use previously saved __tmp and find those with : (e.g. crowd:8095)
      - source_labels: [__tmp] 
        regex: '.*/(.*)[:].*'
        replacement: 'internal:$1'
        target_label: instance
      # now drop the __tmp label
      - regex: '^__tmp$' 
        action: labeldrop
