supervision : declarer a qui elle parle
Some checks are pending
verifier / verifier (push) Waiting to run

Icinga livre son exemple avec root@localhost — une adresse que personne ne lit.
Une supervision qui voit tout et n en parle a personne a le meme effet qu aucune
supervision, en plus couteux : elle rassure.

serveur_icinga_destinataire cree un utilisateur dans le groupe auquel les
notifications sont deja assignees (Icinga refuse deux objets de meme nom, on ne
peut pas redefinir l exemple ; on en ajoute un autre, l exemple reste muet).

Vide, aucun destinataire n est pose ET LE DEPLOIEMENT LE DIT — plutot que de
laisser croire qu une alerte partira.

Eprouve : message expedie par le relais du site, status=sent (250 2.0.0 Ok),
livre directement a mx.chezlepro.ca sans intermediaire ni dependance envers un
locataire.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
This commit is contained in:
Daniel Allaire 2026-09-02 17:48:19 -04:00
parent 4e12c3a802
commit cccb4e5b43
4 changed files with 54 additions and 0 deletions

View file

@ -70,3 +70,14 @@ serveur_icinga_sauvegarde_attendue: >-
{{ (client_backup_groupes_etat | default([]) | map('extract', groups)
| select('defined') | flatten | unique | list)
| intersect(groups['client_backup'] | default([])) }}
# A QUI LA SUPERVISION PARLE — vide = personne, et on le DIT.
#
# Icinga livre son exemple avec `root@localhost`. Une supervision qui voit tout et
# n'en parle a personne a le meme effet qu'une supervision absente, en plus couteux :
# elle rassure. Renseigne, ce champ cree un destinataire dans le groupe auquel les
# notifications sont deja assignees.
#
# Vide, aucun destinataire n'est pose et le deploiement le SIGNALE — plutot que de
# laisser croire qu'une alerte partira.
serveur_icinga_destinataire: ""

View file

@ -199,3 +199,24 @@
group: root
mode: "0644"
delegate_to: "{{ groups['serveur_backup'] | first }}"
# --- A QUI PARLER -------------------------------------------------------------
- name: Déclarer le destinataire des alertes
ansible.builtin.template:
src: setops-users.conf.j2
dest: /etc/icinga2/conf.d/setops-users.conf
owner: root
group: nagios
mode: "0640"
when: serveur_icinga_destinataire | length > 0
notify: Redemarrer icinga2
# DIRE CE QU'ON NE FAIT PAS. Sans destinataire, Icinga notifie `root@localhost` — une
# adresse que personne ne lit. Le silence alerterait alors dans le vide.
- name: Dire que personne ne recevra les alertes
ansible.builtin.debug:
msg: >-
`serveur_icinga_destinataire` n'est pas renseigne : les notifications iront a
`root@localhost`, que personne ne lit. La supervision VERRA les defauts sans
pouvoir les dire. Declarer l'adresse au plan.
when: serveur_icinga_destinataire | length == 0

View file

@ -0,0 +1,20 @@
/*
* Gere par Set-OPS (role serveur_icinga). Ne pas editer a la main.
*
* A QUI LA SUPERVISION PARLE.
*
* Icinga livre `users.conf` avec `email = "root@localhost"` — une adresse qui n'existe
* nulle part et que personne ne lit. Une supervision qui voit tout et le dit a personne
* a le meme effet qu'une supervision absente, en plus couteux : elle rassure.
*
* Ce fichier REMPLACE l'utilisateur d'exemple par celui du plan. Il trie apres
* `users.conf` — mais Icinga refuse deux objets de meme nom, on ne peut donc pas le
* redefinir : on en declare un AUTRE, et on l'ajoute au groupe auquel les notifications
* sont deja assignees. L'exemple reste, muet ; le notre recoit.
*/
object User "setops-exploitant" {
import "generic-user"
display_name = "Exploitant Set-OPS"
groups = [ "icingaadmins" ]
email = "{{ serveur_icinga_destinataire }}"
}

View file

@ -403,6 +403,8 @@ def inventaire() -> dict:
# depend de l'ordre des plays est un reglage qui reviendra en arriere.
#
# Ici, tout play qui applique `ssh_hardening` a cet hote la voit.
# A qui la supervision parle. Vide, le role le SIGNALE au deploiement.
"serveur_icinga_destinataire": str(intrants.get("supervision_courriel") or ""),
# LE POSTFIX DU SITE EXPEDIE, IL NE RECOIT PAS.
#
# `serveur_postfix` est d'abord le serveur de courriel d'un ecosysteme : il