initial ansible code
This commit is contained in:
2
roles/systemd_exporter/defaults/main.yml
Normal file
2
roles/systemd_exporter/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
systemd_exporter_include: '^rclone.*\.service'
|
||||
7
roles/systemd_exporter/handlers/main.yml
Normal file
7
roles/systemd_exporter/handlers/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: restart systemd_exporter
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
enabled: true
|
||||
name: systemd_exporter
|
||||
state: restarted
|
||||
52
roles/systemd_exporter/tasks/main.yml
Normal file
52
roles/systemd_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
|
||||
- name: Get latest systemd_exporter version
|
||||
github_release:
|
||||
user: povilasv
|
||||
repo: systemd_exporter
|
||||
action: latest_release
|
||||
token: "{{ vault_github_token }}"
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
register: systemd_exporter_version
|
||||
- name: "{{ systemd_exporter_version }}"
|
||||
set_fact:
|
||||
systemd_exporter_version: "{{ systemd_exporter_version | replace ('v', '', 1) | trim }}"
|
||||
run_once: true
|
||||
|
||||
- name: download systemd_exporter {{ systemd_exporter_version.tag }} from GitHub
|
||||
get_url:
|
||||
url: "https://github.com/povilasv/systemd_exporter/releases/download/\
|
||||
v{{ systemd_exporter_version.tag }}/systemd_exporter-{{ systemd_exporter_version.tag }}\
|
||||
.linux-{{ deb_architecture }}.tar.gz"
|
||||
dest: "/tmp/systemd_exporter-{{ systemd_exporter_version.tag }}-linux-{{ deb_architecture }}.tar.gz"
|
||||
register: _download_archive
|
||||
until: _download_archive is succeeded
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
- name: unpack systemd_exporter binaries
|
||||
unarchive:
|
||||
src: "/tmp/systemd_exporter-{{ systemd_exporter_version.tag }}-linux-{{ deb_architecture }}.tar.gz"
|
||||
dest: "/tmp"
|
||||
creates: "/tmp/systemd_exporter-{{ systemd_exporter_version.tag }}.linux-{{ deb_architecture }}"
|
||||
remote_src: true
|
||||
|
||||
- name: Copy systemd_exporter
|
||||
copy:
|
||||
src: "/tmp/systemd_exporter-{{ systemd_exporter_version.tag }}.linux-{{ deb_architecture }}/systemd_exporter"
|
||||
dest: "{{ systemd_exporter_install_dir }}/systemd_exporter"
|
||||
remote_src: true
|
||||
owner: "{{ systemd_exporter_system_user }}"
|
||||
group: "{{ systemd_exporter_system_group }}"
|
||||
mode: 0755
|
||||
notify: restart systemd_exporter
|
||||
|
||||
- name: Copy the systemd_exporter systemd service file
|
||||
template:
|
||||
src: systemd_exporter.service.j2
|
||||
dest: /etc/systemd/system/systemd_exporter.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: restart systemd_exporter
|
||||
16
roles/systemd_exporter/templates/systemd_exporter.service.j2
Normal file
16
roles/systemd_exporter/templates/systemd_exporter.service.j2
Normal file
@@ -0,0 +1,16 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description=Prometheus Systemd Exporter
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User={{ systemd_exporter_system_user }}
|
||||
Group={{ systemd_exporter_system_group }}
|
||||
ExecStart={{ systemd_exporter_install_dir }}/systemd_exporter --systemd.collector.unit-include="{{ systemd_exporter_include }}"
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
5
roles/systemd_exporter/vars/main.yml
Normal file
5
roles/systemd_exporter/vars/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
# Variables
|
||||
systemd_exporter_install_dir: "/usr/local/bin"
|
||||
systemd_exporter_system_group: "node-exporter"
|
||||
systemd_exporter_system_user: "{{ systemd_exporter_system_group }}"
|
||||
Reference in New Issue
Block a user