From acee1d50446cfd96482f65f83d51e404f40a10db Mon Sep 17 00:00:00 2001 From: Olivier Navas Date: Sun, 12 Jun 2022 23:07:03 +0200 Subject: [PATCH] Commit initial --- README.md | 23 +++++++++++++++++++ defaults/main.yml | 2 ++ handlers/main.yml | 6 +++++ tasks/main.yml | 39 +++++++++++++++++++++++++++++++++ templates/node_exporter.default | 1 + templates/node_exporter.service | 10 +++++++++ 6 files changed, 81 insertions(+) create mode 100644 README.md create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 tasks/main.yml create mode 100644 templates/node_exporter.default create mode 100644 templates/node_exporter.service diff --git a/README.md b/README.md new file mode 100644 index 0000000..00646b1 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Role : nodeexporter + +## Services fournis + +- main.yml : Installation de nodeexporter sur un serveur avec rôle common + + +## Variables + +```yaml +nodeexporter_base_url: https://github.com/prometheus/node_exporter/releases/download/v1.3.1 +nodeexporter_package: node_exporter-1.3.1.linux-amd64 +``` + + +| Option | Valeur par défaut | Description | +|-----------------------------|-------------------|-------------------------------------------------------------| +| nodeexporter_port | 9100 | Le numero de port local pour l'accès à nodeexporter | +| nodeexporter_base_url | | La base de l'url depuis laquelle télécharger le package | +| nodeexporter_package | | Le nom du package nodeexporter à installer, sans le suffixe | +| nodeexporter_package_suffix | .tar.gz | Le suffixe du package nodeexporter | + + diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..8ac5a65 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,2 @@ +nodeexporter_port: "9100" +nodeexporter_package_suffix: .tar.gz diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..a9d50b4 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,6 @@ +- name: nodeexporter-restart + systemd: + name: node_exporter + daemon_reload: yes + state: restarted + enabled: yes diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..4257396 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,39 @@ +- name: Download nodeexporter + get_url: + url: "{{ nodeexporter_base_url }}/{{ nodeexporter_package }}{{ nodeexporter_package_suffix }}" + dest: /tmp/ + mode: '0444' + delegate_to: localhost + +- name: create user node_exporter + user: + name: node_exporter + system: yes + shell: /bin/false + create_home: no + +- name: Extract nodeexporter + ansible.builtin.unarchive: + src: /tmp/{{ nodeexporter_package }}{{ nodeexporter_package_suffix }} + dest: /usr/local/sbin/ + remote_src: no + mode: 0755 + owner: root + extra_opts: + - "--strip-components" + - "1" + - "{{ nodeexporter_package }}/node_exporter" + notify: nodeexporter-restart + +- name: prepare systemd + template: + src: node_exporter.service + dest: /etc/systemd/system/node_exporter.service + notify: nodeexporter-restart + +- name: prepare config + template: + src: node_exporter.default + dest: /etc/default/node_exporter + notify: nodeexporter-restart + diff --git a/templates/node_exporter.default b/templates/node_exporter.default new file mode 100644 index 0000000..8f95a01 --- /dev/null +++ b/templates/node_exporter.default @@ -0,0 +1 @@ +OPTIONS="--collector.textfile.directory /var/lib/node_exporter/textfile_collector" diff --git a/templates/node_exporter.service b/templates/node_exporter.service new file mode 100644 index 0000000..8c46009 --- /dev/null +++ b/templates/node_exporter.service @@ -0,0 +1,10 @@ +[Unit] +Description=Node Exporter + +[Service] +User=node_exporter +EnvironmentFile=/etc/default/node_exporter +ExecStart=/usr/local/sbin/node_exporter $OPTIONS + +[Install] +WantedBy=multi-user.target