ansible : install dnsmasq_exporter
This commit is contained in:
@@ -12,3 +12,4 @@
|
|||||||
become: true
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- role: dns_server
|
- role: dns_server
|
||||||
|
- role: dnsmasq_exporter
|
||||||
|
|||||||
@@ -13,3 +13,4 @@
|
|||||||
become: true
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- role: dns_server
|
- role: dns_server
|
||||||
|
- role: dnsmasq_exporter
|
||||||
|
|||||||
10
ansible/roles/dnsmasq_exporter/handlers/main.yml
Normal file
10
ansible/roles/dnsmasq_exporter/handlers/main.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
# ================================================================
|
||||||
|
# Handlers for dnsmasq_exporter role
|
||||||
|
# ================================================================
|
||||||
|
|
||||||
|
- name: Reload systemd
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
daemon_reload: true
|
||||||
|
become: true
|
||||||
|
listen: Reload systemd
|
||||||
56
ansible/roles/dnsmasq_exporter/tasks/main.yml
Normal file
56
ansible/roles/dnsmasq_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
# ================================================================
|
||||||
|
# Rôle : dnsmasq_exporter
|
||||||
|
# Tâches principales
|
||||||
|
#
|
||||||
|
# Objectif : Installer la dernière version de dnsmasq_exporter
|
||||||
|
# via `go install` et la lancer comme service systemd.
|
||||||
|
#
|
||||||
|
# Remarque : cette implémentation reste volontairement simple.
|
||||||
|
# - Aucune gestion fine de la version : toujours la « latest ».
|
||||||
|
# - Repose sur le paquet Debian/Ubuntu `golang`.
|
||||||
|
# - Le binaire est installé directement dans /usr/local/bin
|
||||||
|
# grâce à la variable d’environnement GOBIN.
|
||||||
|
# ================================================================
|
||||||
|
|
||||||
|
- name: "[dnsmasq_exporter] Dépendances build (golang, git)"
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name:
|
||||||
|
- golang-go
|
||||||
|
- git
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
tags:
|
||||||
|
- dnsmasq_exporter
|
||||||
|
- install
|
||||||
|
|
||||||
|
- name: "[dnsmasq_exporter] Installation du binaire (go install @latest)"
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: go install github.com/google/dnsmasq_exporter@latest
|
||||||
|
creates: /usr/local/bin/dnsmasq_exporter
|
||||||
|
environment:
|
||||||
|
GOBIN: /usr/local/bin
|
||||||
|
tags:
|
||||||
|
- dnsmasq_exporter
|
||||||
|
- build
|
||||||
|
|
||||||
|
- name: "[dnsmasq_exporter] Déploiement du service systemd"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: dnsmasq_exporter.service.j2
|
||||||
|
dest: /etc/systemd/system/dnsmasq_exporter.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
notify: Reload systemd
|
||||||
|
tags:
|
||||||
|
- dnsmasq_exporter
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: "[dnsmasq_exporter] Activation et démarrage du service"
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: dnsmasq_exporter
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
tags:
|
||||||
|
- dnsmasq_exporter
|
||||||
|
- service
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Prometheus dnsmasq_exporter
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/local/bin/dnsmasq_exporter
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user