global:
  scrape_interval: 60s
  scrape_timeout: 10s
  evaluation_interval: 15s
  external_labels:
    monitor: 'kolla'

{% if prometheus_alert_rules.files is defined and prometheus_alert_rules.files | length  > 0 %}
rule_files:
{% for rule in prometheus_alert_rules.files %}
  - "/etc/prometheus/{{ rule.path | basename }}"
{% endfor %}
{% endif %}

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets:
{% for host in groups['prometheus'] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ prometheus_port }}'
{% endfor %}

{% if enable_prometheus_node_exporter | bool %}
  - job_name: node
    static_configs:
      - targets:
{% for host in groups['prometheus-node-exporter'] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_node_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_mysqld_exporter | bool %}
  - job_name: mysqld
    static_configs:
      - targets:
{% for host in groups['prometheus-mysqld-exporter'] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_mysqld_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_haproxy_exporter | bool %}
  - job_name: haproxy
    static_configs:
      - targets:
{% for host in groups['prometheus-haproxy-exporter'] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_haproxy_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_memcached_exporter | bool %}
  - job_name: memcached
    static_configs:
      - targets:
{% for host in groups['prometheus-memcached-exporter'] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_memcached_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_cadvisor | bool %}
  - job_name: cadvisor
    static_configs:
      - targets:
{% for host in groups["prometheus-cadvisor"] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_cadvisor_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_ceph_mgr_exporter | bool %}
  - job_name: ceph_mgr_exporter
    honor_labels: true
    static_configs:
      - targets:
{% for host in groups["ceph-mgr"] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_ceph_mgr_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_openstack_exporter | bool %}
  - job_name: openstack_exporter
    scrape_interval: {{ prometheus_openstack_exporter_interval }}
    honor_labels: true
    static_configs:
      - targets:
{% for host in groups["prometheus-openstack-exporter"] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_openstack_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_elasticsearch_exporter | bool %}
  - job_name: elasticsearch_exporter
    scrape_interval: {{ prometheus_elasticsearch_exporter_interval }}
    static_configs:
      - targets:
{% for host in groups["prometheus-elasticsearch-exporter"] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_elasticsearch_exporter_port'] }}'
{% endfor %}
{% endif %}

{% if enable_prometheus_alertmanager | bool %}
alerting:
  alertmanagers:
  - static_configs:
    - targets:
{% for host in groups["prometheus-alertmanager"] %}
        - '{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['prometheus_alertmanager_port'] }}'
{% endfor %}
{% endif %}
