| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- ---
- - name: Download Node Exporter binary
- get_url:
- url: https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
- dest: /tmp/node_exporter.tar.gz
- mode: '0644'
- - name: Extract Node Exporter
- unarchive:
- src: /tmp/node_exporter.tar.gz
- dest: /opt
- remote_src: yes
- creates: /opt/node_exporter-1.6.0.linux-amd64
- - name: Link Node Exporter
- file:
- src: /opt/node_exporter-1.6.0.linux-amd64
- dest: /opt/node_exporter
- state: link
- - name: Create node_exporter user
- user:
- name: node_exporter
- system: yes
- shell: /bin/false
- - name: Create directories
- file:
- path: /var/lib/node_exporter
- state: directory
- owner: node_exporter
- group: node_exporter
- mode: '0755'
- - name: Copy Node Exporter service
- template:
- src: node_exporter.service.j2
- dest: /etc/systemd/system/node_exporter.service
- owner: root
- group: root
- mode: '0644'
- - name: Enable and start Node Exporter
- systemd:
- name: node_exporter
- daemon_reload: yes
- enabled: yes
- state: started
- - name: Register Node-exporter to Consul
- uri:
- url: "http://{{ consul_server }}:8500/v1/agent/service/register"
- method: PUT
- body_format: json
- body:
- name: "node-exporter-{{ inventory_hostname }}"
- id: "node-exporter-{{ inventory_hostname }}"
- address: "{{ inventory_hostname }}"
- port: 9100
- tags: ["node-exporter", "{{ inventory_hostname }}"]
- check:
- http: "http://{{ inventory_hostname }}:9100/metrics"
- interval: "10s"
- headers:
- Content-Type: application/json
- delegate_to: "{{ consul_server }}"
|