b692ce7af1
This patch adds support for integrating Prometheus with Fluentd. This can be used to extract useful information about the status of Fluentd, such as output buffer capacity and logging rate, and also to extract metrics from logs via custom Fluentd configuration. More information can be found here in [1]. [1] https://docs.fluentd.org/monitoring-fluentd/monitoring-prometheus Change-Id: I233d6dd744848ef1f1589a462dbf272ed0f3aaae
157 lines
5.2 KiB
Django/Jinja
157 lines
5.2 KiB
Django/Jinja
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'] %}
|
|
- '{{ '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 %}
|
|
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 %}
|