ansible : install dnsmasq_exporter

This commit is contained in:
darnodo
2025-06-21 08:28:10 +02:00
parent 64f24ad742
commit f4b1ae92c2
5 changed files with 81 additions and 0 deletions

View File

@@ -12,3 +12,4 @@
become: true
roles:
- role: dns_server
- role: dnsmasq_exporter

View File

@@ -13,3 +13,4 @@
become: true
roles:
- role: dns_server
- role: dnsmasq_exporter

View File

@@ -0,0 +1,10 @@
---
# ================================================================
# Handlers for dnsmasq_exporter role
# ================================================================
- name: Reload systemd
ansible.builtin.systemd:
daemon_reload: true
become: true
listen: Reload systemd

View 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 denvironnement 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

View File

@@ -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