Skip to content
This repository was archived by the owner on Mar 6, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults
| `node_exporter_version` | 0.18.1 | Node exporter package version. Also accepts latest as parameter. |
| `node_exporter_binary_local_dir` | "" | Allows to use local packages instead of ones distributed on github. As parameter it takes a directory where `node_exporter` binary is stored on host on which ansible is ran. This overrides `node_exporter_version` parameter |
| `node_exporter_web_listen_address` | "0.0.0.0:9100" | Address on which node exporter will listen |
| `node_exporter_system_group` | "node-exp" | System group used to run node_exporter |
| `node_exporter_system_user` | "node-exp" | System user used to run node_exporter |
| `node_exporter_enabled_collectors` | [ systemd, textfile ] | List of additionally enabled collectors. It adds collectors to [those enabled by default](https://github.com/prometheus/node_exporter#enabled-by-default) |
| `node_exporter_disabled_collectors` | [] | List of disabled collectors. By default node_exporter disables collectors listed [here](https://github.com/prometheus/node_exporter#disabled-by-default). |
| `node_exporter_textfile_dir` | "/var/lib/node_exporter" | Directory used by the [Textfile Collector](https://github.com/prometheus/node_exporter#textfile-collector). To get permissions to write metrics in this directory, users must be in `node-exp` system group.
Expand Down
3 changes: 0 additions & 3 deletions defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ node_exporter_version: 0.18.1
node_exporter_binary_local_dir: ""
node_exporter_web_listen_address: "0.0.0.0:9100"

node_exporter_system_group: "node-exp"
node_exporter_system_user: "{{ node_exporter_system_group }}"

node_exporter_textfile_dir: "/var/lib/node_exporter"

node_exporter_enabled_collectors:
Expand Down
2 changes: 0 additions & 2 deletions molecule/alternative/playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
- ansible-node-exporter
vars:
node_exporter_binary_local_dir: "/tmp/node_exporter-linux-amd64"
node_exporter_system_group: "root"
node_exporter_system_user: "root"
node_exporter_textfile_dir: ""
node_exporter_enabled_collectors:
- entropy
Expand Down
5 changes: 0 additions & 5 deletions molecule/alternative/tests/test_alternative.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ def test_directories(host):
assert not d.exists


def test_user(host):
assert not host.group("node-exp").exists
assert not host.user("node-exp").exists


def test_service(host):
s = host.service("node_exporter")
# assert s.is_enabled
Expand Down
4 changes: 2 additions & 2 deletions tasks/configure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
file:
path: "{{ node_exporter_textfile_dir }}"
state: directory
owner: "{{ node_exporter_system_user }}"
group: "{{ node_exporter_system_group }}"
owner: "{{ _node_exporter_system_user }}"
group: "{{ _node_exporter_system_group }}"
recurse: true
mode: 0775
when: node_exporter_textfile_dir | length > 0
Expand Down
10 changes: 5 additions & 5 deletions tasks/install.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
- name: Create the node_exporter group
group:
name: "{{ node_exporter_system_group }}"
name: "{{ _node_exporter_system_group }}"
state: present
system: true
when: node_exporter_system_group != "root"
when: _node_exporter_system_group != "root"

- name: Create the node_exporter user
user:
name: "{{ node_exporter_system_user }}"
groups: "{{ node_exporter_system_group }}"
name: "{{ _node_exporter_system_user }}"
groups: "{{ _node_exporter_system_group }}"
append: true
shell: /usr/sbin/nologin
system: true
create_home: false
home: /
when: node_exporter_system_user != "root"
when: _node_exporter_system_user != "root"

- block:
- name: Download node_exporter binary to local folder
Expand Down
4 changes: 2 additions & 2 deletions templates/node_exporter.service.j2
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ StartLimitInterval=0

[Service]
Type=simple
User={{ node_exporter_system_user }}
Group={{ node_exporter_system_group }}
User={{ _node_exporter_system_user }}
Group={{ _node_exporter_system_group }}
ExecStart={{ _node_exporter_binary_install_dir }}/node_exporter \
{% for collector in node_exporter_enabled_collectors -%}
{% if not collector is mapping %}
Expand Down
2 changes: 2 additions & 0 deletions vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ go_arch_map:
go_arch: "{{ go_arch_map[ansible_architecture] | default(ansible_architecture) }}"

_node_exporter_binary_install_dir: "/usr/local/bin"
_node_exporter_system_group: "node-exp"
_node_exporter_system_user: "{{ _node_exporter_system_group }}"