Grafana requires the scrape interval to be set to be able to compute $__rate_interval. The default is 15s which does not match the kolla default of 60s. The symptom of not setting this is that you will see "no data" when zooming graphs that use rate queries. This occurs as the interval will be set to a period shorter than the scrape interval. The recommendation is that you use a common scrape interval for all jobs. See: - https://grafana.com/blog/2020/09/28/new-in-grafana-7.2-__rate_interval-for-prometheus-rate-queries-that-just-work/ - https://stackoverflow.com/questions/66369969/set-scrape-interval-in-provisioned-prometheus-data-source-in-grafana Change-Id: I7e5c1e20c7b66b64cbd333f669ef8d8da60daaa8
164 lines
5.5 KiB
Django/Jinja
164 lines
5.5 KiB
Django/Jinja
global:
|
|
scrape_interval: {{ prometheus_scrape_interval }}
|
|
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'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ prometheus_port }}'
|
|
{% endfor %}
|
|
|
|
{% if enable_prometheus_node_exporter | bool %}
|
|
- job_name: node
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups['prometheus-node-exporter'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ 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'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ 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'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_haproxy_exporter_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_rabbitmq_exporter | bool %}
|
|
- job_name: rabbitmq
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups['rabbitmq'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_rabbitmq_exporter_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_memcached_exporter | bool %}
|
|
- job_name: memcached
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups['prometheus-memcached-exporter'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ 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"] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_cadvisor_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_fluentd_integration | bool %}
|
|
- job_name: fluentd
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups['fluentd'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_fluentd_integration_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_ceph_mgr_exporter | bool %}
|
|
- job_name: ceph_mgr_exporter
|
|
honor_labels: true
|
|
static_configs:
|
|
- targets:
|
|
{% for exporter in prometheus_ceph_mgr_exporter_endpoints %}
|
|
- '{{ exporter }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_openstack_exporter | bool %}
|
|
- job_name: openstack_exporter
|
|
scrape_interval: {{ prometheus_openstack_exporter_interval }}
|
|
scrape_timeout: {{ prometheus_openstack_exporter_timeout }}
|
|
honor_labels: true
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups["prometheus-openstack-exporter"] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ 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"] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_elasticsearch_exporter_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_blackbox_exporter | bool and prometheus_blackbox_exporter_endpoints | length > 0 | bool %}
|
|
- job_name: blackbox_exporter
|
|
metrics_path: /probe
|
|
honor_labels: true
|
|
static_configs:
|
|
- targets:
|
|
{% for target in prometheus_blackbox_exporter_endpoints %}
|
|
- '{{ target }}'
|
|
{% endfor %}
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (\w+):(\w+):(.+)
|
|
target_label: service
|
|
replacement: ${1}
|
|
- source_labels: [__address__]
|
|
regex: (\w+):(\w+):(.+)
|
|
target_label: __param_module
|
|
replacement: ${2}
|
|
- source_labels: [__param_module]
|
|
target_label: module
|
|
- source_labels: [__address__]
|
|
regex: (\w+):(\w+):(.+)
|
|
target_label: __param_target
|
|
replacement: ${3}
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: '{{ api_interface_address | put_address_in_context('url') }}:{{ prometheus_blackbox_exporter_port }}'
|
|
{% endif %}
|
|
|
|
{% if enable_prometheus_alertmanager | bool %}
|
|
- job_name: alertmanager
|
|
static_configs:
|
|
- targets:
|
|
{% for host in groups['prometheus-alertmanager'] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_alertmanager_port'] }}'
|
|
{% endfor %}
|
|
|
|
alerting:
|
|
alertmanagers:
|
|
- static_configs:
|
|
- targets:
|
|
{% for host in groups["prometheus-alertmanager"] %}
|
|
- '{{ 'api' | kolla_address(host) | put_address_in_context('url') }}:{{ hostvars[host]['prometheus_alertmanager_port'] }}'
|
|
{% endfor %}
|
|
{% endif %}
|