--- # Role to deploy prometheus node and add them to a prometheus server - name: Import OS variables include_vars: "{{ ansible_os_family }}.yml" - name: install node exporter package: name: "{{ prometheus_exporter_package }}" state: latest notify: enable exporter - import_tasks: debian.yml when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' - import_tasks: redhat.yml when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux' or ansible_distribution == 'Virtuozzo' - name: import discovery file to server template: src: sd_file.yml.j2 dest: "{{ prometheus_sd_directory }}/{{ ansible_nodename }}.yml" delegate_to: "{{ prometheus_server }}" - name: add nodename to server hosts lineinfile: path: /etc/hosts regexp: '{{ prometheus_exporter_listen_address }} {{ ansible_nodename }}' state: present line: '{{ prometheus_exporter_listen_address }} {{ ansible_nodename }}' delegate_to: "{{ prometheus_server }}" when: prometheus_exporter_listen_address is defined and prometheus_exporter_listen_address != "0.0.0.0" notify: reload server