feat: update node exporter service

This commit is contained in:
shenlan 2025-08-29 20:50:22 +08:00
parent 9bcb181ec1
commit 0b222791b1
3 changed files with 54 additions and 30 deletions

View File

@ -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
ansible.builtin.get_url:
url: >-
@ -24,10 +16,19 @@
creates: "/tmp/node_exporter-{{ node_exporter_version | default('1.8.2') }}.linux-amd64"
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
ansible.builtin.copy:
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'
remote_src: true
when: inventory_hostname in groups[group]
@ -44,10 +45,25 @@
state: absent
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
ansible.builtin.template:
src: node_exporter.service
dest: /etc/systemd/system/node_exporter.service
src: node-exporter.service
dest: /etc/systemd/system/node-exporter.service
owner: root
group: root
mode: '0644'
@ -55,7 +71,7 @@
- name: Enable and start node_exporter
ansible.builtin.systemd:
name: node_exporter
name: node-exporter
enabled: true
state: restarted
daemon_reload: true

View File

@ -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

View File

@ -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