Add playbooks/install-node-exporter.yml
This commit is contained in:
68
playbooks/install-node-exporter.yml
Normal file
68
playbooks/install-node-exporter.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
- name: Install Node Exporter from binary
|
||||
hosts: all
|
||||
become: true
|
||||
|
||||
vars:
|
||||
node_exporter_version: "1.9.1"
|
||||
node_exporter_user: "node_exporter"
|
||||
node_exporter_listen: "0.0.0.0:9100"
|
||||
node_exporter_bin_dir: "/usr/local/bin"
|
||||
node_exporter_service_path: "/etc/systemd/system/node_exporter.service"
|
||||
|
||||
tasks:
|
||||
- name: Ensure node_exporter user exists
|
||||
user:
|
||||
name: "{{ node_exporter_user }}"
|
||||
shell: /usr/sbin/nologin
|
||||
system: true
|
||||
create_home: false
|
||||
|
||||
- name: Download Node Exporter archive
|
||||
get_url:
|
||||
url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
|
||||
dest: "/tmp/node_exporter.tar.gz"
|
||||
mode: "0644"
|
||||
|
||||
- name: Extract Node Exporter binary
|
||||
unarchive:
|
||||
src: "/tmp/node_exporter.tar.gz"
|
||||
dest: "/tmp/"
|
||||
remote_src: true
|
||||
|
||||
- name: Install binary
|
||||
copy:
|
||||
src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter"
|
||||
dest: "{{ node_exporter_bin_dir }}/node_exporter"
|
||||
mode: "0755"
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: Create systemd service
|
||||
copy:
|
||||
dest: "{{ node_exporter_service_path }}"
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Prometheus Node Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User={{ node_exporter_user }}
|
||||
ExecStart={{ node_exporter_bin_dir }}/node_exporter --web.listen-address={{ node_exporter_listen }}
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
notify: Restart node_exporter
|
||||
|
||||
- name: Enable and start node_exporter
|
||||
systemd:
|
||||
name: node_exporter
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
|
||||
handlers:
|
||||
- name: Restart node_exporter
|
||||
systemd:
|
||||
name: node_exporter
|
||||
state: restarted
|
||||
Reference in New Issue
Block a user