Skip to content

Instantly share code, notes, and snippets.

@jevonearth
Last active February 8, 2017 00:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jevonearth/50e9bfde5bc0f99a4412063d80836c19 to your computer and use it in GitHub Desktop.
Save jevonearth/50e9bfde5bc0f99a4412063d80836c19 to your computer and use it in GitHub Desktop.
---
- name: check if node_exporter binary exists
stat: path=/usr/local/bin/node_exporter
register: node_exporter_stat
- name: check version
shell: /usr/local/bin/node_exporter -version|head -1|awk '{print $3}'
check_mode: no
ignore_errors: yes
changed_when: false
when: node_exporter_stat|succeeded
register: installed_version
- debug: msg={{ node_exporter_stat }}
- debug: msg={{ node_exporter_version }}
- debug: msg={{ installed_version }}
- block:
- name: download promethues node_exporter
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-{{ node_exporter_version }}.linux-amd64.tar.gz mode=0440
- name: unpack node_exporter
command: tar -C /tmp -xzvf /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz
- name: remove old node_exporter
file: dest=/usr/local/bin/node_exporter state=absent
- name: install node_exporter
command: mv /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter /usr/local/bin/node_exporter
# command: install -b -C -o root -g wheel -m 755 /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter /usr/local/bin/node_exporter
args:
creates: /usr/local/bin/node_exporter
when: (node_exporter_stat|failed) or (installed_version.stdout != node_exporter_version)
- name: correct permissions on node_exporter
file: dest=/usr/local/bin/node_exporter owner=root group=wheel
when: not ansible_check_mode
- name: copy systemd node_exporter file
copy: src=node_exporter.service dest=/etc/systemd/system/node_exporter.service
- name: enable service
service: name=node_exporter enabled=yes state=started
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment