|
|
- ---
-
- # 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
|