According your description you may introduce automatic installation like
- name: Download and unpack node exporter binary to /usr/local/bin
unarchive:
src: "https://{{ URL}}/node_exporter-{{ NODE_EXPORTER_VERSION }}.linux-amd64.tar.gz"
dest: "/usr/local/bin/"
remote_src: yes
extra_opts: [--strip-components=1]
owner: "root"
group: "root"
create a group
and user
to run the node_exporter
as a service like
- name: Create group 'node_exporter' to run the node exporter service
group:
name: "node_exporter"
state: present
- name: Create user 'node_exporter' to run the node exporter service
user:
name: "node_exporter"
group: "node_exporter"
state: present
...
a systemd node_exporter.service
file like
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
and roll it out via copy
or template
_module depending on your infrastructre, environment and needs.
After that you can use the systemd
_module to manage the service.
- name: Make sure 'node_exporter' service is started and enabled
systemd:
name: node_exporter
state: started
enabled: yes
daemon_reload: yes
Furthermore it might be necessary to manage the local firewalld
and open ports like
- name: Do permit traffic in default zone for 'node_exporter' on port 9001/tcp
firewalld:
port: 9001/tcp
permanent: yes
state: enabled