Aucune metrique de SERVICE n etait collectee — seulement du systeme. Le crochet serveur_prometheus_cibles_supplementaires existait, documente, et personne ne le remplissait. Le pendant de meta/supervision.yml et son contraire : une sonde rend un verdict avec un TTL, un exportateur expose une serie. Est-ce casse, contre depuis quand et vers ou. Le critere des panneaux : une serie a sa place si elle PRECEDE un verdict ou si elle n en aura JAMAIS. Le taux de succes du cache n en aura jamais — quand les donnees depassent shared_buffers, rien ne casse et tout devient lent. Compte en lecture seule (pg_monitor), et flux en clair avec sa dette inscrite. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
74 lines
3.5 KiB
YAML
74 lines
3.5 KiB
YAML
---
|
|
serveur_postgresql_packages:
|
|
- postgresql
|
|
- postgresql-contrib
|
|
- python3-psycopg2 # requis par community.postgresql sur la cible
|
|
|
|
serveur_postgresql_service_name: "postgresql"
|
|
|
|
# Version majeure du cluster. Vide => detection automatique du cluster installe
|
|
# par Debian (repertoire sous /etc/postgresql/<version>/main).
|
|
serveur_postgresql_version: ""
|
|
|
|
# Reseau et acces.
|
|
serveur_postgresql_port: 5432
|
|
serveur_postgresql_ecoute:
|
|
- "127.0.0.1"
|
|
- "{{ ansible_host | default(ansible_default_ipv4.address, true) }}"
|
|
serveur_postgresql_reseaux_autorises:
|
|
- "10.0.0.0/16"
|
|
serveur_postgresql_methode_auth: "scram-sha-256"
|
|
|
|
# Reglages additionnels (vide => valeurs par defaut de Debian).
|
|
# Exemple : { shared_buffers: "256MB", work_mem: "16MB" }
|
|
serveur_postgresql_parametres: {}
|
|
|
|
# Nom du groupe serveur (pour filtrer le registre des bases applicatives).
|
|
# Le registre lui-meme (bases_donnees) est charge depuis instance/plan/bases-donnees.yml.
|
|
serveur_postgresql_groupe: "serveur_postgresql"
|
|
|
|
# Provisioning applicatif explicite. Vide par defaut : aucune base ni compte cree.
|
|
# Les mots de passe doivent venir d'Ansible Vault, jamais en clair.
|
|
serveur_postgresql_comptes: []
|
|
# - nom: keycloak
|
|
# mot_de_passe: "{{ vault_postgresql_keycloak }}"
|
|
# attributs: "LOGIN"
|
|
serveur_postgresql_bases: []
|
|
# - nom: keycloak
|
|
# proprietaire: keycloak
|
|
|
|
# --- TLS via le certificat d'hote step_ca (client_pki requis sur le noeud) ---
|
|
# Cote serveur : PostgreSQL sert le cert step_ca (verifiable contre root_ca), au lieu
|
|
# du snakeoil auto-signe. Non-bloquant : le TLS reste optionnel tant que pg_hba ne le force pas.
|
|
serveur_postgresql_tls_actif: false
|
|
serveur_postgresql_tls_source_cert: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.crt"
|
|
serveur_postgresql_tls_source_cle: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.key"
|
|
serveur_postgresql_tls_source_ca: "/etc/step/certs/root_ca.crt"
|
|
serveur_postgresql_tls_dir: "/var/lib/postgresql/tls"
|
|
|
|
# Verrou zero-confiance : hostssl dans pg_hba => refuse toute connexion NON-TLS.
|
|
# N'activer qu'apres avoir confirme que TOUS les clients sont en TLS (sinon coupure).
|
|
serveur_postgresql_tls_force: false
|
|
|
|
# --- Sonde de supervision -----------------------------------------------------------
|
|
serveur_postgresql_sonde_pct_avert: 70
|
|
serveur_postgresql_sonde_pct_crit: 90
|
|
|
|
# --- L'EXPORTATEUR DE METRIQUES -------------------------------------------------------
|
|
#
|
|
# Le pendant de la sonde : elle dit « est-ce casse ? », il dit « depuis quand, et vers
|
|
# ou ? ». Voir `meta/metriques.yml`, qui declare ce que le moteur en derive.
|
|
#
|
|
# UN COMPTE DEDIE, EN LECTURE SEULE, ET RIEN D'AUTRE. `pg_monitor` est un role fourni par
|
|
# PostgreSQL depuis la version 10 : il donne acces aux vues de statistiques et A ELLES
|
|
# SEULES — aucune donnee applicative. Faire tourner un exportateur en `postgres` serait
|
|
# donner les cles de la base pour lire des compteurs.
|
|
#
|
|
# LE MOT DE PASSE VIENT DE LA VOUTE, comme tous les autres. Vide, l'exportateur n'est pas
|
|
# pose du tout — degrader, jamais deviner, et surtout jamais un mot de passe par defaut.
|
|
serveur_postgresql_exportateur_actif: "{{ (vault_pg_exportateur | default('')) | length > 0 }}"
|
|
serveur_postgresql_exportateur_paquet: prometheus-postgres-exporter
|
|
serveur_postgresql_exportateur_service: prometheus-postgres-exporter
|
|
serveur_postgresql_exportateur_port: 9187
|
|
serveur_postgresql_exportateur_utilisateur: setops_metriques
|
|
serveur_postgresql_exportateur_mot_de_passe: "{{ vault_pg_exportateur | default('') }}"
|