diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-03-02 22:39:33 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-03-02 23:01:26 +0100 |
| commit | a61eec647a90d1cf4584aca16a591e25056fbcb2 (patch) | |
| tree | ab301ebab047bea7486a6a73ddf2e2af7325243a /roles | |
| parent | 8b766e87a0299836ed602e3936fbef9a6b403193 (diff) | |
Create specific prometheus node exporter role
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/prometheus-node-exporter/defaults/main.yml | 3 | ||||
| -rw-r--r-- | roles/prometheus-node-exporter/handlers/main.yml | 6 | ||||
| -rw-r--r-- | roles/prometheus-node-exporter/meta/main.yml | 17 | ||||
| -rw-r--r-- | roles/prometheus-node-exporter/tasks/main.yml | 28 | ||||
| -rw-r--r-- | roles/prometheus-node-exporter/vars/archlinux.yml | 2 | ||||
| -rw-r--r-- | roles/prometheus-node-exporter/vars/debian.yml | 2 |
6 files changed, 58 insertions, 0 deletions
diff --git a/roles/prometheus-node-exporter/defaults/main.yml b/roles/prometheus-node-exporter/defaults/main.yml new file mode 100644 index 00000000..d15999f0 --- /dev/null +++ b/roles/prometheus-node-exporter/defaults/main.yml @@ -0,0 +1,3 @@ +--- +node_exporter_host: "0.0.0.0" +node_exporter_port: 9100 diff --git a/roles/prometheus-node-exporter/handlers/main.yml b/roles/prometheus-node-exporter/handlers/main.yml new file mode 100644 index 00000000..4e995e59 --- /dev/null +++ b/roles/prometheus-node-exporter/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Restart node-exporter" + become: true + ansible.builtin.systemd_service: + name: "prometheus-node-exporter" + state: "restarted" diff --git a/roles/prometheus-node-exporter/meta/main.yml b/roles/prometheus-node-exporter/meta/main.yml new file mode 100644 index 00000000..c94a573a --- /dev/null +++ b/roles/prometheus-node-exporter/meta/main.yml @@ -0,0 +1,17 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Install and configure Prometheus node exporter" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/prometheus-node-exporter/tasks/main.yml b/roles/prometheus-node-exporter/tasks/main.yml new file mode 100644 index 00000000..dc222e3e --- /dev/null +++ b/roles/prometheus-node-exporter/tasks/main.yml @@ -0,0 +1,28 @@ +--- +- name: "Include OS-specific variables" + ansible.builtin.include_vars: "{{ ansible_facts['os_family'] | lower }}.yml" + +- name: "Ensure prometheus-node-exporter is installed" + become: true + ansible.builtin.package: + name: "prometheus-node-exporter" + state: "present" + +- name: "Configure node-exporter host/port via environment file" + become: true + ansible.builtin.copy: + content: | + NODE_EXPORTER_ARGS=" + --web.listen-address={{ node_exporter_host }}:{{ node_exporter_port }} + --collector.systemd + " + dest: "{{ node_exporter_env_file }}" + mode: "0644" + notify: "Restart node-exporter" + +- name: "Start and enable prometheus-node-exporter" + become: true + ansible.builtin.systemd_service: + name: "prometheus-node-exporter" + state: "started" + enabled: true diff --git a/roles/prometheus-node-exporter/vars/archlinux.yml b/roles/prometheus-node-exporter/vars/archlinux.yml new file mode 100644 index 00000000..e550c5da --- /dev/null +++ b/roles/prometheus-node-exporter/vars/archlinux.yml @@ -0,0 +1,2 @@ +--- +node_exporter_env_file: "/etc/conf.d/prometheus-node-exporter" diff --git a/roles/prometheus-node-exporter/vars/debian.yml b/roles/prometheus-node-exporter/vars/debian.yml new file mode 100644 index 00000000..dc59b0d6 --- /dev/null +++ b/roles/prometheus-node-exporter/vars/debian.yml @@ -0,0 +1,2 @@ +--- +node_exporter_env_file: "/etc/default/prometheus-node-exporter" |
