Merge pull request #66 from svc-design/codex/update-node-exporter-service-configuration
feat: update node exporter service
This commit is contained in:
commit
020a4e6908
@ -1,11 +1,3 @@
|
|||||||
- name: Ensure node_exporter user exists
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: node_exporter
|
|
||||||
system: true
|
|
||||||
shell: /usr/sbin/nologin
|
|
||||||
create_home: false
|
|
||||||
when: inventory_hostname in groups[group]
|
|
||||||
|
|
||||||
- name: Download node_exporter archive
|
- name: Download node_exporter archive
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: >-
|
url: >-
|
||||||
@ -24,10 +16,19 @@
|
|||||||
creates: "/tmp/node_exporter-{{ node_exporter_version | default('1.8.2') }}.linux-amd64"
|
creates: "/tmp/node_exporter-{{ node_exporter_version | default('1.8.2') }}.linux-amd64"
|
||||||
when: inventory_hostname in groups[group]
|
when: inventory_hostname in groups[group]
|
||||||
|
|
||||||
|
- name: Ensure metrics-agent directory exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /opt/metrics-agent
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0755'
|
||||||
|
when: inventory_hostname in groups[group]
|
||||||
|
|
||||||
- name: Install node_exporter binary
|
- name: Install node_exporter binary
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "/tmp/node_exporter-{{ node_exporter_version | default('1.8.2') }}.linux-amd64/node_exporter"
|
src: "/tmp/node_exporter-{{ node_exporter_version | default('1.8.2') }}.linux-amd64/node_exporter"
|
||||||
dest: /usr/local/bin/node_exporter
|
dest: /opt/metrics-agent/node_exporter
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
remote_src: true
|
remote_src: true
|
||||||
when: inventory_hostname in groups[group]
|
when: inventory_hostname in groups[group]
|
||||||
@ -44,10 +45,25 @@
|
|||||||
state: absent
|
state: absent
|
||||||
when: inventory_hostname in groups[group]
|
when: inventory_hostname in groups[group]
|
||||||
|
|
||||||
|
- name: Ensure textfile collector directory exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/lib/node_exporter
|
||||||
|
state: directory
|
||||||
|
owner: nobody
|
||||||
|
group: nogroup
|
||||||
|
mode: '0755'
|
||||||
|
when: inventory_hostname in groups[group]
|
||||||
|
|
||||||
|
- name: Remove old node_exporter service file
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/systemd/system/node_exporter.service
|
||||||
|
state: absent
|
||||||
|
when: inventory_hostname in groups[group]
|
||||||
|
|
||||||
- name: Create node_exporter service
|
- name: Create node_exporter service
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: node_exporter.service
|
src: node-exporter.service
|
||||||
dest: /etc/systemd/system/node_exporter.service
|
dest: /etc/systemd/system/node-exporter.service
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
@ -55,7 +71,7 @@
|
|||||||
|
|
||||||
- name: Enable and start node_exporter
|
- name: Enable and start node_exporter
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.systemd:
|
||||||
name: node_exporter
|
name: node-exporter
|
||||||
enabled: true
|
enabled: true
|
||||||
state: restarted
|
state: restarted
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
[#] template for node-exporter systemd service
|
||||||
|
[Unit]
|
||||||
|
Description=Prometheus Node Exporter (tiny, LAN)
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=nobody
|
||||||
|
Group=nogroup
|
||||||
|
ExecStart=/opt/metrics-agent/node_exporter \
|
||||||
|
--web.listen-address=0.0.0.0:9100 \
|
||||||
|
--collector.disable-defaults \
|
||||||
|
--collector.cpu \
|
||||||
|
--collector.meminfo \
|
||||||
|
--collector.loadavg \
|
||||||
|
--collector.filesystem \
|
||||||
|
--collector.diskstats \
|
||||||
|
--collector.netdev \
|
||||||
|
--collector.netclass \
|
||||||
|
--collector.uname \
|
||||||
|
--collector.textfile \
|
||||||
|
--collector.textfile.directory=/var/lib/node_exporter
|
||||||
|
Restart=always
|
||||||
|
RestartSec=2
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@ -1,18 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Prometheus Node Exporter
|
|
||||||
Wants=network-online.target
|
|
||||||
After=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=node_exporter
|
|
||||||
Group=node_exporter
|
|
||||||
ExecStart=/usr/local/bin/node_exporter --web.listen-address={{ node_exporter_bind_addr | default('0.0.0.0') }}:{{ node_exporter_port | default('9100') }} --collector.tcpstat --collector.processes
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
NoNewPrivileges=yes
|
|
||||||
PrivateTmp=yes
|
|
||||||
ProtectSystem=full
|
|
||||||
ProtectHome=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
Loading…
Reference in New Issue
Block a user