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