diff --git a/tasks/centos.yml b/tasks/centos.yml new file mode 100644 index 0000000000000000000000000000000000000000..6ab7d188743d5288caa6ef002779f749014e8f52 --- /dev/null +++ b/tasks/centos.yml @@ -0,0 +1,34 @@ +--- +- name: create the node_exporter account + user: + create_home: false + name: node_exporter + shell: "/bin/false" + + +- name: Download node_exporter + get_url: + url: https://copr.fedorainfracloud.org/coprs/ibotty/prometheus-exporters/repo/epel-7/ibotty-prometheus-exporters-epel-7.repo + dest: /etc/yum.repos.d/_copr_ibotty-prometheus-exporters.repo + +- name: Install the 'node_exporter' + yum: + name: "node_exporter" + state: present + +- name: deploy the service definition file + template: + dest: /etc/systemd/system/node_exporter.service + src: node_exporter_centos.service + +- name: deploy additional service options config file + template: + dest: /etc/nodeexport.conf + src: nodeexport.conf + +- name: reload systemd to take the new service into account + systemd: + daemon_reload: yes + enabled: yes + name: node_exporter + state: started diff --git a/tasks/debian.yml b/tasks/debian.yml new file mode 100644 index 0000000000000000000000000000000000000000..aed2a111835f5edf8abb1e3d5a3ad6174617cb4c --- /dev/null +++ b/tasks/debian.yml @@ -0,0 +1,38 @@ +--- +- name: create the node_exporter account + user: + create_home: false + name: node_exporter + shell: "/bin/false" + +- name: unpack node_exporter + unarchive: + remote_src: yes + src: https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz + dest: /tmp + +- name: move the node_exporter to the final destination + copy: + dest: /usr/local/bin/node_exporter + src: /tmp/node_exporter-0.18.1.linux-amd64/node_exporter + owner: node_exporter + group: node_exporter + mode: "u+x" + remote_src: yes + +- name: deploy the service definition file + template: + dest: /etc/systemd/system/node_exporter.service + src: node_exporter.service + +- name: deploy additional service options config file + template: + dest: /etc/nodeexport.conf + src: nodeexport.conf + +- name: reload systemd to take the new service into account + systemd: + daemon_reload: yes + enabled: yes + name: node_exporter + state: started diff --git a/tasks/main.yml b/tasks/main.yml index aed2a111835f5edf8abb1e3d5a3ad6174617cb4c..708a5de81ef068b21355c542201207468118bcf8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,38 +1,7 @@ --- -- name: create the node_exporter account - user: - create_home: false - name: node_exporter - shell: "/bin/false" +# tasks file for ansible_node_exporter +- include: debian.yml tags=debian + when: ansible_os_family == 'Debian' -- name: unpack node_exporter - unarchive: - remote_src: yes - src: https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz - dest: /tmp - -- name: move the node_exporter to the final destination - copy: - dest: /usr/local/bin/node_exporter - src: /tmp/node_exporter-0.18.1.linux-amd64/node_exporter - owner: node_exporter - group: node_exporter - mode: "u+x" - remote_src: yes - -- name: deploy the service definition file - template: - dest: /etc/systemd/system/node_exporter.service - src: node_exporter.service - -- name: deploy additional service options config file - template: - dest: /etc/nodeexport.conf - src: nodeexport.conf - -- name: reload systemd to take the new service into account - systemd: - daemon_reload: yes - enabled: yes - name: node_exporter - state: started +- include: centos.yml tags=centos + when: ansible_distribution == "CentOS" \ No newline at end of file diff --git a/templates/node_exporter_centos.service b/templates/node_exporter_centos.service new file mode 100644 index 0000000000000000000000000000000000000000..c93c5407106bfed1d657d5d578d54ea7bde95820 --- /dev/null +++ b/templates/node_exporter_centos.service @@ -0,0 +1,14 @@ +[Unit] +Description=Node Exporter +Wants=network-online.target +After=network-online.target + +[Service] +User=node_exporter +Group=node_exporter +Type=simple +EnvironmentFile=/etc/nodeexport.conf +ExecStart=/usr/sbin/node_exporter $ARG1 $ARG2 $ARG3 $ARG5 $ARG6 $ARG7 + +[Install] +WantedBy=multi-user.target