diff options
22 files changed, 220 insertions, 100 deletions
diff --git a/ansible/roles/prometheus-node-exporters/defaults/main.yml b/ansible/roles/prometheus-node-exporters/defaults/main.yml new file mode 100644 index 000000000..419e56902 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/defaults/main.yml @@ -0,0 +1,60 @@ +--- +project_name: "prometheus" + +prometheus_services: + prometheus-node-exporter: + container_name: "prometheus_node_exporter" + group: "prometheus-node-exporter" + enabled: "{{ enable_prometheus_node_exporter | bool }}" + image: "{{ prometheus_node_exporter_image_full }}" + pid_mode: "host" + volumes: "{{ prometheus_node_exporter_default_volumes + prometheus_node_exporter_extra_volumes }}" + dimensions: "{{ prometheus_node_exporter_dimensions }}" + prometheus-cadvisor: + container_name: "prometheus_cadvisor" + group: "prometheus-cadvisor" + enabled: "{{ enable_prometheus_cadvisor | bool }}" + image: "{{ prometheus_cadvisor_image_full }}" + volumes: "{{ prometheus_cadvisor_default_volumes + prometheus_cadvisor_extra_volumes }}" + dimensions: "{{ prometheus_cadvisor_dimensions }}" + +#################### +# Docker +#################### +prometheus_install_type: "{{ kolla_install_type }}" +prometheus_tag: "{{ openstack_tag }}" + +prometheus_node_exporter_image: "{{ docker_image_url }}prometheus-node-exporter" +prometheus_node_exporter_tag: "{{ prometheus_tag }}" +prometheus_node_exporter_image_full: "{{ prometheus_node_exporter_image }}:{{ prometheus_node_exporter_tag }}" + +prometheus_cadvisor_image: "{{ docker_image_url }}prometheus-cadvisor" +prometheus_cadvisor_tag: "{{ prometheus_tag }}" +prometheus_cadvisor_image_full: "{{ prometheus_cadvisor_image }}:{{ prometheus_cadvisor_tag }}" + +prometheus_node_exporter_dimensions: "{{ default_container_dimensions }}" +prometheus_cadvisor_dimensions: "{{ default_container_dimensions }}" + +prometheus_node_exporter_default_volumes: + - "{{ node_config_directory }}/prometheus-node-exporter/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" + - "kolla_logs:/var/log/kolla/" + - "/:/host:ro,rslave" +prometheus_cadvisor_default_volumes: + - "{{ node_config_directory }}/prometheus-cadvisor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" + - "kolla_logs:/var/log/kolla/" + - "/:/rootfs:ro" + - "/var/run:/var/run:rw" + - "/sys:/sys:ro" + - "/var/lib/docker/:/var/lib/docker:ro" + - "/dev/disk/:/dev/disk:ro" + +prometheus_extra_volumes: "{{ default_extra_volumes }}" +prometheus_node_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" +prometheus_cadvisor_extra_volumes: "{{ prometheus_extra_volumes }}" + +prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false --disable_metrics=percpu,referenced_memory,cpu_topology,resctrl,udp,advtcp,sched,hugetlb,memory_numa,tcp,process --housekeeping_interval={{ prometheus_scrape_interval }}" +prometheus_node_exporter_cmdline_extras: "" diff --git a/ansible/roles/prometheus-node-exporters/handlers/main.yml b/ansible/roles/prometheus-node-exporters/handlers/main.yml new file mode 100644 index 000000000..747669e18 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/handlers/main.yml @@ -0,0 +1,27 @@ +--- +- name: Restart prometheus-node-exporter container + vars: + service_name: "prometheus-node-exporter" + service: "{{ prometheus_services[service_name] }}" + become: true + kolla_container: + action: "recreate_or_restart_container" + common_options: "{{ docker_common_options }}" + name: "{{ service.container_name }}" + image: "{{ service.image }}" + pid_mode: "{{ service.pid_mode | default(omit) }}" + volumes: "{{ service.volumes }}" + dimensions: "{{ service.dimensions }}" + +- name: Restart prometheus-cadvisor container + vars: + service_name: "prometheus-cadvisor" + service: "{{ prometheus_services[service_name] }}" + become: true + kolla_container: + action: "recreate_or_restart_container" + common_options: "{{ docker_common_options }}" + name: "{{ service.container_name }}" + image: "{{ service.image }}" + volumes: "{{ service.volumes }}" + dimensions: "{{ service.dimensions }}" diff --git a/ansible/roles/prometheus-node-exporters/tasks/check-containers.yml b/ansible/roles/prometheus-node-exporters/tasks/check-containers.yml new file mode 100644 index 000000000..b7e2f7c29 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/check-containers.yml @@ -0,0 +1,3 @@ +--- +- import_role: + name: service-check-containers diff --git a/ansible/roles/prometheus-node-exporters/tasks/check.yml b/ansible/roles/prometheus-node-exporters/tasks/check.yml new file mode 100644 index 000000000..ed97d539c --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/check.yml @@ -0,0 +1 @@ +--- diff --git a/ansible/roles/prometheus-node-exporters/tasks/config.yml b/ansible/roles/prometheus-node-exporters/tasks/config.yml new file mode 100644 index 000000000..83de189b2 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/config.yml @@ -0,0 +1,30 @@ +--- +- name: Ensuring config directories exist + become: true + file: + path: "{{ node_config_directory }}/{{ item.key }}" + state: "directory" + owner: "{{ config_owner_user }}" + group: "{{ config_owner_group }}" + mode: "0770" + when: + - inventory_hostname in groups[item.value.group] + - item.value.enabled | bool + with_dict: "{{ prometheus_services }}" + +- include_tasks: copy-certs.yml + when: + - kolla_copy_ca_into_containers | bool + +- name: Copying over config.json files + become: true + template: + src: "{{ item.key }}.json.j2" + dest: "{{ node_config_directory }}/{{ item.key }}/config.json" + mode: "0660" + when: + - inventory_hostname in groups[item.value.group] + - item.value.enabled | bool + with_dict: "{{ prometheus_services }}" + notify: + - Restart {{ item.key }} container diff --git a/ansible/roles/prometheus-node-exporters/tasks/config_validate.yml b/ansible/roles/prometheus-node-exporters/tasks/config_validate.yml new file mode 100644 index 000000000..ed97d539c --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/config_validate.yml @@ -0,0 +1 @@ +--- diff --git a/ansible/roles/prometheus-node-exporters/tasks/copy-certs.yml b/ansible/roles/prometheus-node-exporters/tasks/copy-certs.yml new file mode 100644 index 000000000..674942839 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/copy-certs.yml @@ -0,0 +1,6 @@ +--- +- name: "Copy certificates and keys for {{ project_name }}" + import_role: + role: service-cert-copy + vars: + project_services: "{{ prometheus_services }}" diff --git a/ansible/roles/prometheus-node-exporters/tasks/deploy-containers.yml b/ansible/roles/prometheus-node-exporters/tasks/deploy-containers.yml new file mode 100644 index 000000000..eb24ab5c7 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/deploy-containers.yml @@ -0,0 +1,2 @@ +--- +- import_tasks: check-containers.yml diff --git a/ansible/roles/prometheus-node-exporters/tasks/deploy.yml b/ansible/roles/prometheus-node-exporters/tasks/deploy.yml new file mode 100644 index 000000000..49edff81e --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/deploy.yml @@ -0,0 +1,7 @@ +--- +- import_tasks: config.yml + +- import_tasks: check-containers.yml + +- name: Flush handlers + meta: flush_handlers diff --git a/ansible/roles/prometheus-node-exporters/tasks/main.yml b/ansible/roles/prometheus-node-exporters/tasks/main.yml new file mode 100644 index 000000000..bc5d1e625 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/main.yml @@ -0,0 +1,2 @@ +--- +- include_tasks: "{{ kolla_action }}.yml" diff --git a/ansible/roles/prometheus-node-exporters/tasks/precheck.yml b/ansible/roles/prometheus-node-exporters/tasks/precheck.yml new file mode 100644 index 000000000..87e56d7a4 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/precheck.yml @@ -0,0 +1,41 @@ +--- +- import_role: + name: service-precheck + vars: + service_precheck_services: "{{ prometheus_services }}" + service_name: "{{ project_name }}" + +- name: Get container facts + become: true + kolla_container_facts: + action: get_containers + container_engine: "{{ kolla_container_engine }}" + name: + - prometheus_node_exporter + - prometheus_cadvisor + check_mode: false + register: container_facts + +- name: Checking free port for Prometheus node_exporter + wait_for: + host: "{{ 'api' | kolla_address }}" + port: "{{ prometheus_node_exporter_port }}" + connect_timeout: 1 + timeout: 1 + state: stopped + when: + - container_facts.containers['prometheus_node_exporter'] is not defined + - inventory_hostname in groups['prometheus-node-exporter'] + - enable_prometheus_node_exporter | bool + +- name: Checking free port for Prometheus cAdvisor + wait_for: + host: "{{ 'api' | kolla_address }}" + port: "{{ prometheus_cadvisor_port }}" + connect_timeout: 1 + timeout: 1 + state: stopped + when: + - container_facts.containers['prometheus_cadvisor'] is not defined + - inventory_hostname in groups['prometheus-cadvisor'] + - enable_prometheus_cadvisor | bool diff --git a/ansible/roles/prometheus-node-exporters/tasks/pull.yml b/ansible/roles/prometheus-node-exporters/tasks/pull.yml new file mode 100644 index 000000000..53f9c5fda --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/pull.yml @@ -0,0 +1,3 @@ +--- +- import_role: + role: service-images-pull diff --git a/ansible/roles/prometheus-node-exporters/tasks/reconfigure.yml b/ansible/roles/prometheus-node-exporters/tasks/reconfigure.yml new file mode 100644 index 000000000..5b10a7e11 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/reconfigure.yml @@ -0,0 +1,2 @@ +--- +- import_tasks: deploy.yml diff --git a/ansible/roles/prometheus-node-exporters/tasks/stop.yml b/ansible/roles/prometheus-node-exporters/tasks/stop.yml new file mode 100644 index 000000000..18d4f9bc5 --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/stop.yml @@ -0,0 +1,6 @@ +--- +- import_role: + name: service-stop + vars: + project_services: "{{ prometheus_services }}" + service_name: "{{ project_name }}" diff --git a/ansible/roles/prometheus-node-exporters/tasks/upgrade.yml b/ansible/roles/prometheus-node-exporters/tasks/upgrade.yml new file mode 100644 index 000000000..49edff81e --- /dev/null +++ b/ansible/roles/prometheus-node-exporters/tasks/upgrade.yml @@ -0,0 +1,7 @@ +--- +- import_tasks: config.yml + +- import_tasks: check-containers.yml + +- name: Flush handlers + meta: flush_handlers diff --git a/ansible/roles/prometheus/templates/prometheus-cadvisor.json.j2 b/ansible/roles/prometheus-node-exporters/templates/prometheus-cadvisor.json.j2 index 21463e433..21463e433 100644 --- a/ansible/roles/prometheus/templates/prometheus-cadvisor.json.j2 +++ b/ansible/roles/prometheus-node-exporters/templates/prometheus-cadvisor.json.j2 diff --git a/ansible/roles/prometheus/templates/prometheus-node-exporter.json.j2 b/ansible/roles/prometheus-node-exporters/templates/prometheus-node-exporter.json.j2 index 41e8e8fea..41e8e8fea 100644 --- a/ansible/roles/prometheus/templates/prometheus-node-exporter.json.j2 +++ b/ansible/roles/prometheus-node-exporters/templates/prometheus-node-exporter.json.j2 diff --git a/ansible/roles/prometheus/defaults/main.yml b/ansible/roles/prometheus/defaults/main.yml index 12420d636..2ce4f0848 100644 --- a/ansible/roles/prometheus/defaults/main.yml +++ b/ansible/roles/prometheus/defaults/main.yml @@ -28,14 +28,6 @@ prometheus_services: backend_http_extra: - "option httpchk GET /-/ready HTTP/1.0" - "http-check send hdr Authorization 'Basic {{ (prometheus_haproxy_user + ':' + prometheus_haproxy_password) | b64encode }}'" - prometheus-node-exporter: - container_name: prometheus_node_exporter - group: prometheus-node-exporter - enabled: "{{ enable_prometheus_node_exporter | bool }}" - image: "{{ prometheus_node_exporter_image_full }}" - pid_mode: "host" - volumes: "{{ prometheus_node_exporter_default_volumes + prometheus_node_exporter_extra_volumes }}" - dimensions: "{{ prometheus_node_exporter_dimensions }}" prometheus-mysqld-exporter: container_name: prometheus_mysqld_exporter group: prometheus-mysqld-exporter @@ -50,13 +42,6 @@ prometheus_services: image: "{{ prometheus_memcached_exporter_image_full }}" volumes: "{{ prometheus_memcached_exporter_default_volumes + prometheus_memcached_exporter_extra_volumes }}" dimensions: "{{ prometheus_memcached_exporter_dimensions }}" - prometheus-cadvisor: - container_name: "prometheus_cadvisor" - group: "prometheus-cadvisor" - enabled: "{{ enable_prometheus_cadvisor | bool }}" - image: "{{ prometheus_cadvisor_image_full }}" - volumes: "{{ prometheus_cadvisor_default_volumes + prometheus_cadvisor_extra_volumes }}" - dimensions: "{{ prometheus_cadvisor_dimensions }}" prometheus-alertmanager: container_name: "prometheus_alertmanager" group: "prometheus-alertmanager" @@ -358,18 +343,10 @@ prometheus_mysqld_exporter_image: "{{ docker_image_url }}prometheus-mysqld-expor prometheus_mysqld_exporter_tag: "{{ prometheus_tag }}" prometheus_mysqld_exporter_image_full: "{{ prometheus_mysqld_exporter_image }}:{{ prometheus_mysqld_exporter_tag }}" -prometheus_node_exporter_image: "{{ docker_image_url }}prometheus-node-exporter" -prometheus_node_exporter_tag: "{{ prometheus_tag }}" -prometheus_node_exporter_image_full: "{{ prometheus_node_exporter_image }}:{{ prometheus_node_exporter_tag }}" - prometheus_memcached_exporter_image: "{{ docker_image_url }}prometheus-memcached-exporter" prometheus_memcached_exporter_tag: "{{ prometheus_tag }}" prometheus_memcached_exporter_image_full: "{{ prometheus_memcached_exporter_image }}:{{ prometheus_memcached_exporter_tag }}" -prometheus_cadvisor_image: "{{ docker_image_url }}prometheus-cadvisor" -prometheus_cadvisor_tag: "{{ prometheus_tag }}" -prometheus_cadvisor_image_full: "{{ prometheus_cadvisor_image }}:{{ prometheus_cadvisor_tag }}" - prometheus_alertmanager_image: "{{ docker_image_url }}prometheus-alertmanager" prometheus_alertmanager_tag: "{{ prometheus_tag }}" prometheus_alertmanager_image_full: "{{ prometheus_alertmanager_image }}:{{ prometheus_alertmanager_tag }}" @@ -393,9 +370,7 @@ prometheus_libvirt_exporter_image_full: "{{ prometheus_libvirt_exporter_image }} prometheus_server_dimensions: "{{ default_container_dimensions }}" prometheus_mysqld_exporter_dimensions: "{{ default_container_dimensions }}" -prometheus_node_exporter_dimensions: "{{ default_container_dimensions }}" prometheus_memcached_exporter_dimensions: "{{ default_container_dimensions }}" -prometheus_cadvisor_dimensions: "{{ default_container_dimensions }}" prometheus_alertmanager_dimensions: "{{ default_container_dimensions }}" prometheus_openstack_exporter_dimensions: "{{ default_container_dimensions }}" prometheus_elasticsearch_exporter_dimensions: "{{ default_container_dimensions }}" @@ -413,27 +388,11 @@ prometheus_mysqld_exporter_default_volumes: - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" - "kolla_logs:/var/log/kolla/" -prometheus_node_exporter_default_volumes: - - "{{ node_config_directory }}/prometheus-node-exporter/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" - - "kolla_logs:/var/log/kolla/" - - "/:/host:ro,rslave" prometheus_memcached_exporter_default_volumes: - "{{ node_config_directory }}/prometheus-memcached-exporter/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" - "kolla_logs:/var/log/kolla/" -prometheus_cadvisor_default_volumes: - - "{{ node_config_directory }}/prometheus-cadvisor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}" - - "kolla_logs:/var/log/kolla/" - - "/:/rootfs:ro" - - "/var/run:/var/run:rw" - - "/sys:/sys:ro" - - "/var/lib/docker/:/var/lib/docker:ro" - - "/dev/disk/:/dev/disk:ro" prometheus_alertmanager_default_volumes: - "{{ node_config_directory }}/prometheus-alertmanager/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" @@ -464,9 +423,7 @@ prometheus_libvirt_exporter_default_volumes: prometheus_extra_volumes: "{{ default_extra_volumes }}" prometheus_server_extra_volumes: "{{ prometheus_extra_volumes }}" prometheus_mysqld_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" -prometheus_node_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" prometheus_memcached_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" -prometheus_cadvisor_extra_volumes: "{{ prometheus_extra_volumes }}" prometheus_alertmanager_extra_volumes: "{{ prometheus_extra_volumes }}" prometheus_openstack_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" prometheus_elasticsearch_exporter_extra_volumes: "{{ prometheus_extra_volumes }}" @@ -485,11 +442,9 @@ prometheus_server_command: >- --storage.tsdb.path /var/lib/prometheus{% if prometheus_cmdline_extras %} {{ prometheus_cmdline_extras }}{% endif %} prometheus_blackbox_exporter_cmdline_extras: "" -prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false --disable_metrics=percpu,referenced_memory,cpu_topology,resctrl,udp,advtcp,sched,hugetlb,memory_numa,tcp,process --housekeeping_interval={{ prometheus_scrape_interval }}" prometheus_elasticsearch_exporter_cmdline_extras: "" prometheus_memcached_exporter_cmdline_extras: "" prometheus_mysqld_exporter_cmdline_extras: "" -prometheus_node_exporter_cmdline_extras: "" prometheus_openstack_exporter_cmdline_extras: "" prometheus_alertmanager_external_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context('url') }}:{{ prometheus_alertmanager_port }}" diff --git a/ansible/roles/prometheus/handlers/main.yml b/ansible/roles/prometheus/handlers/main.yml index 9b58a236d..386031040 100644 --- a/ansible/roles/prometheus/handlers/main.yml +++ b/ansible/roles/prometheus/handlers/main.yml @@ -12,20 +12,6 @@ volumes: "{{ service.volumes }}" dimensions: "{{ service.dimensions }}" -- name: Restart prometheus-node-exporter container - vars: - service_name: "prometheus-node-exporter" - service: "{{ prometheus_services[service_name] }}" - become: true - kolla_container: - action: "recreate_or_restart_container" - common_options: "{{ docker_common_options }}" - name: "{{ service.container_name }}" - image: "{{ service.image }}" - pid_mode: "{{ service.pid_mode | default(omit) }}" - volumes: "{{ service.volumes }}" - dimensions: "{{ service.dimensions }}" - - name: Restart prometheus-mysqld-exporter container vars: service_name: "prometheus-mysqld-exporter" @@ -52,19 +38,6 @@ volumes: "{{ service.volumes }}" dimensions: "{{ service.dimensions }}" -- name: Restart prometheus-cadvisor container - vars: - service_name: "prometheus-cadvisor" - service: "{{ prometheus_services[service_name] }}" - become: true - kolla_container: - action: "recreate_or_restart_container" - common_options: "{{ docker_common_options }}" - name: "{{ service.container_name }}" - image: "{{ service.image }}" - volumes: "{{ service.volumes }}" - dimensions: "{{ service.dimensions }}" - - name: Restart prometheus-alertmanager container vars: service_name: "prometheus-alertmanager" diff --git a/ansible/roles/prometheus/tasks/precheck.yml b/ansible/roles/prometheus/tasks/precheck.yml index de8ac17b4..e3b19ad11 100644 --- a/ansible/roles/prometheus/tasks/precheck.yml +++ b/ansible/roles/prometheus/tasks/precheck.yml @@ -12,10 +12,8 @@ container_engine: "{{ kolla_container_engine }}" name: - prometheus_server - - prometheus_node_exporter - prometheus_memcached_exporter - prometheus_mysqld_exporter - - prometheus_cadvisor - prometheus_alertmanager - prometheus_openstack_exporter - prometheus_elasticsearch_exporter @@ -66,18 +64,6 @@ - inventory_hostname in groups['prometheus'] - enable_prometheus_server | bool -- name: Checking free port for Prometheus node_exporter - wait_for: - host: "{{ 'api' | kolla_address }}" - port: "{{ prometheus_node_exporter_port }}" - connect_timeout: 1 - timeout: 1 - state: stopped - when: - - container_facts.containers['prometheus_node_exporter'] is not defined - - inventory_hostname in groups['prometheus-node-exporter'] - - enable_prometheus_node_exporter | bool - - name: Checking free port for Prometheus mysqld_exporter wait_for: host: "{{ 'api' | kolla_address }}" @@ -102,18 +88,6 @@ - inventory_hostname in groups['prometheus-memcached-exporter'] - enable_prometheus_memcached_exporter | bool -- name: Checking free port for Prometheus cAdvisor - wait_for: - host: "{{ 'api' | kolla_address }}" - port: "{{ prometheus_cadvisor_port }}" - connect_timeout: 1 - timeout: 1 - state: stopped - when: - - container_facts.containers['prometheus_cadvisor'] is not defined - - inventory_hostname in groups['prometheus-cadvisor'] - - enable_prometheus_cadvisor | bool - - name: Checking free ports for Prometheus Alertmanager wait_for: host: "{{ 'api' | kolla_address }}" diff --git a/ansible/site.yml b/ansible/site.yml index 6c8755e80..1f6f409d6 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -440,10 +440,8 @@ gather_facts: false hosts: - prometheus - - prometheus-node-exporter - prometheus-mysqld-exporter - prometheus-memcached-exporter - - prometheus-cadvisor - prometheus-alertmanager - prometheus-openstack-exporter - prometheus-elasticsearch-exporter @@ -459,6 +457,22 @@ - { role: prometheus, tags: prometheus } +- name: Apply role prometheus-node-exporters + gather_facts: false + hosts: + - prometheus-node-exporter + - prometheus-cadvisor + - '&enable_prometheus_True' + serial: '{{ kolla_serial|default("0") }}' + max_fail_percentage: >- + {{ prometheus_node_exporters_max_fail_percentage | + default(kolla_max_fail_percentage) | + default(100) }} + roles: + - { role: prometheus-node-exporters, + tags: [prometheus, prometheus-node-exporters], + when: enable_prometheus | bool } + - name: Apply role iscsi gather_facts: false hosts: diff --git a/releasenotes/notes/split-prometheus-role-d363716375b14143.yaml b/releasenotes/notes/split-prometheus-role-d363716375b14143.yaml new file mode 100644 index 000000000..1f0019717 --- /dev/null +++ b/releasenotes/notes/split-prometheus-role-d363716375b14143.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Improves performance of Prometheus deployment by separating the + ``prometheus_node_exporter`` and ``prometheus_cadvisor`` services to a new + ``prometheus-node-exporters`` role. |
