node_exporter: First version of role
This commit is contained in:
parent
f573704b34
commit
051acc86cc
4 changed files with 62 additions and 0 deletions
5
roles/node_exporter/handlers/main.yml
Normal file
5
roles/node_exporter/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Restart node_exporter
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: prometheus-node-exporter
|
||||||
|
state: restarted
|
3
roles/node_exporter/meta/main.yml
Normal file
3
roles/node_exporter/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
dependencies:
|
||||||
|
- {role: epel_repo, when: ansible_os_family == "RedHat"}
|
48
roles/node_exporter/tasks/main.yml
Normal file
48
roles/node_exporter/tasks/main.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
- name: Install packages
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: golang-github-prometheus-node-exporter
|
||||||
|
state: installed
|
||||||
|
|
||||||
|
- name: Allow prometheus user to read private key
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: prometheus
|
||||||
|
groups: hostkey
|
||||||
|
append: true
|
||||||
|
notify: Restart node_exporter
|
||||||
|
|
||||||
|
- name: Create config directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/node_exporter
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
owner: root
|
||||||
|
group: "{{ ansible_wheel }}"
|
||||||
|
|
||||||
|
- name: Create web-config
|
||||||
|
ansible.builtin.template:
|
||||||
|
dest: /etc/node_exporter/web-config.yml
|
||||||
|
src: web-config.yml.j2
|
||||||
|
mode: "0644"
|
||||||
|
owner: root
|
||||||
|
group: "{{ ansible_wheel }}"
|
||||||
|
notify: Restart node_exporter
|
||||||
|
|
||||||
|
- name: Modify config
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: /etc/default/prometheus-node-exporter
|
||||||
|
regexp: "^ARGS="
|
||||||
|
line: >-
|
||||||
|
ARGS="--collector.filesystem.ignored-mount-points
|
||||||
|
'^/(dev|proc|sys|run/(user|credentials/systemd-.+))($|/)'
|
||||||
|
--collector.netclass.ignored-devices '^(br-|docker|veth).+$'
|
||||||
|
--collector.netdev.device-exclude '^(br-|docker|veth).+$'
|
||||||
|
--web.config=/etc/node_exporter/web-config.yml
|
||||||
|
--collector.textfile.directory /var/lib/prometheus/node-exporter"
|
||||||
|
notify: Restart node_exporter
|
||||||
|
|
||||||
|
- name: Enable node_exporter service
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: prometheus-node-exporter
|
||||||
|
state: started
|
||||||
|
enabled: true
|
6
roles/node_exporter/templates/web-config.yml.j2
Normal file
6
roles/node_exporter/templates/web-config.yml.j2
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
tls_server_config:
|
||||||
|
key_file: {{ tls_private }}/{{ inventory_hostname }}.key
|
||||||
|
cert_file: {{ tls_certs }}/{{ inventory_hostname }}.crt
|
||||||
|
client_ca_file: {{ tls_certs }}/ca.crt
|
||||||
|
client_auth_type: RequireAndVerifyClientCert
|
Loading…
Add table
Reference in a new issue