node_exporter: First version of role

This commit is contained in:
Timo Makinen 2023-08-19 17:28:30 +00:00
parent f573704b34
commit 051acc86cc
4 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,5 @@
---
- name: Restart node_exporter
ansible.builtin.service:
name: prometheus-node-exporter
state: restarted

View file

@ -0,0 +1,3 @@
---
dependencies:
- {role: epel_repo, when: ansible_os_family == "RedHat"}

View 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

View 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