main.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ---
  2. - name: Creating node_exporter user group
  3. group: name="node_exporter"
  4. become: true
  5. - name: Creating node_exporter user
  6. user:
  7. name: "node_exporter"
  8. group: "node_exporter"
  9. system: yes
  10. shell: "/sbin/nologin"
  11. comment: "node_exporter nologin User"
  12. createhome: "no"
  13. state: present
  14. - name: Node exporter... Download Prometheus archive
  15. get_url:
  16. url: "{{ node_exporter_url }}/{{ node_exporter_tarball }}.tar.gz"
  17. dest: /tmp/{{ node_exporter_tarball }}.tar.gz
  18. checksum: "sha256:{{ node_exporter_url }}/sha256sums.txt"
  19. register: _download_archive
  20. until: _download_archive is succeeded
  21. retries: 5
  22. delay: 2
  23. when: not node_exporter_skip_install
  24. - name: Node exporter... unpack prometheus binaries
  25. unarchive:
  26. src: "/tmp/{{ node_exporter_tarball }}.tar.gz"
  27. dest: "/tmp"
  28. creates: "/tmp/{{ node_exporter_tarball }}/node_exporter"
  29. remote_src: true
  30. when: not node_exporter_skip_install
  31. - name: Node exporter... Copy prometheus node exporter file to bin
  32. copy:
  33. src: "/tmp/{{ node_exporter_tarball }}/node_exporter"
  34. dest: "/usr/local/bin/node_exporter"
  35. owner: node_exporter
  36. group: node_exporter
  37. remote_src: yes
  38. mode: 0755
  39. when: not node_exporter_skip_install
  40. - name: Delete node exporter tmp folder
  41. file:
  42. path: "/tmp/{{ node_exporter_tarball }}.tar.gz"
  43. state: absent
  44. when: not node_exporter_skip_install
  45. - name: Node exporter... Copy systemd init file
  46. copy:
  47. dest: /etc/systemd/system/node_exporter.service
  48. src: files/node_exporter.service
  49. owner: root
  50. group: root
  51. mode: 0640
  52. - name: Start node_exporter service
  53. service:
  54. name: node_exporter
  55. state: started
  56. enabled: yes
  57. - name: Check if node exporter emits metrices
  58. uri:
  59. url: http://127.0.0.1:9100/metrics
  60. method: GET
  61. status_code: 200