From 4c4fb5f647041a8ea380ad6702c694717313b184 Mon Sep 17 00:00:00 2001 From: William Date: Wed, 28 Dec 2022 14:14:25 +0100 Subject: [PATCH] feat: Create service for Node Exporter. --- prometheus-slave/main.yml | 38 ++++++++++++++----- .../templates/node_exporter.service.j2 | 15 ++++++++ 2 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 prometheus-slave/templates/node_exporter.service.j2 diff --git a/prometheus-slave/main.yml b/prometheus-slave/main.yml index b6f4d1d..e5f34b2 100644 --- a/prometheus-slave/main.yml +++ b/prometheus-slave/main.yml @@ -4,19 +4,19 @@ become: yes tasks: - - name: Create node-exporter group + - name: Create node_exporter group group: - name: "node-exporter" + name: "node_exporter" state: present system: true - - name: Create node-exporter user + - name: Create node_exporter user user: - name: "node-exporter" - group: "node-exporter" + name: "node_exporter" + group: "node_exporter" comment: "Node Exporter" shell: /bin/false - home: "/usr/local/bin/node-exporter" + home: "/usr/sbin/nologin" system: true state: present @@ -30,8 +30,28 @@ - name: Move the binary to the installation directory copy: src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter" - dest: "/usr/local/bin/node-exporter" - owner: "node-exporter" - group: "node-exporter" + dest: "/usr/local/bin/node_exporter" + owner: "node_exporter" + group: "node_exporter" mode: 0755 remote_src: true + + - name: Remove archive + file: + path: /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/ + state: absent + + - name: Install service + template: + src: node_exporter.service.j2 + dest: /etc/systemd/system/node_exporter.service + owner: root + group: root + mode: 0755 + + - name: Restart service and pickup changes + systemd: + state: restarted + daemon_reload: yes + name: node_exporter.service + enabled: yes diff --git a/prometheus-slave/templates/node_exporter.service.j2 b/prometheus-slave/templates/node_exporter.service.j2 new file mode 100644 index 0000000..9fda35e --- /dev/null +++ b/prometheus-slave/templates/node_exporter.service.j2 @@ -0,0 +1,15 @@ +[Unit] +Description=Node Exporter +Wants=network-online.target +After=network-online.target +StartLimitIntervalSec=500 +StartLimitBurst=5 +[Service] +User=node_exporter +Group=node_exporter +Type=simple +Restart=on-failure +RestartSec=5s +ExecStart=/usr/local/bin/node_exporter +[Install] +WantedBy=multi-user.target