Certificat Let's Encrypt obtenu et renouvelé par certbot (authentificateur nginx), expiration surveillée par Prometheus. TLS selon Mozilla v6.0 intermediate, HSTS, CSP stricte avec nonce sur l'application et adaptée sur la vitrine, xterm.js servi par le portail. Page de statut prévue sur status.syllabuslab.fr, administration de Grafana et Kuma par tunnel seul. Corrige aussi une faille XSS dans la page de classe, la page /cours en erreur depuis l'étape 8, et NodeSource relancé à chaque déploiement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
2.3 KiB
Text
56 lines
2.3 KiB
Text
groups:
|
|
- name: syllabus
|
|
rules:
|
|
- alert: DisqueSature
|
|
expr: 100 - (node_filesystem_avail_bytes{mountpoint="/",fstype!="tmpfs"} / node_filesystem_size_bytes{mountpoint="/",fstype!="tmpfs"} * 100) > 80
|
|
for: 5m
|
|
labels:
|
|
severite: avertissement
|
|
annotations:
|
|
summary: "Disque / rempli a plus de 80%"
|
|
description: "Occupation du disque racine superieure a 80% depuis plus de 5 minutes."
|
|
|
|
- alert: MemoireSaturee
|
|
expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 90
|
|
for: 5m
|
|
labels:
|
|
severite: avertissement
|
|
annotations:
|
|
summary: "RAM utilisee a plus de 90%"
|
|
description: "Memoire disponible inferieure a 10% depuis plus de 5 minutes."
|
|
|
|
- alert: ServiceOpenStackArrete
|
|
expr: openstack_nova_agent_state == 0 or openstack_neutron_agent_state == 0
|
|
for: 2m
|
|
labels:
|
|
severite: critique
|
|
annotations:
|
|
summary: "Un agent OpenStack est arrete"
|
|
description: "Un agent Nova ou Neutron signale un etat different de UP depuis plus de 2 minutes."
|
|
|
|
- alert: CertificatExpireBientot
|
|
expr: (syllabus_certificat_expiration_timestamp - time()) < 14 * 86400
|
|
for: 1h
|
|
labels:
|
|
severite: critique
|
|
annotations:
|
|
summary: "Le certificat HTTPS de {{ $labels.domaine }} expire dans moins de 14 jours"
|
|
description: "Le renouvellement automatique (certbot.timer) a echoue : voir docs/runbooks/https.md."
|
|
|
|
- alert: CertificatNonMesure
|
|
expr: absent(syllabus_certificat_expiration_timestamp)
|
|
for: 2d
|
|
labels:
|
|
severite: avertissement
|
|
annotations:
|
|
summary: "L'expiration du certificat HTTPS n'est plus mesuree"
|
|
description: "Le fichier certificat.prom du collecteur textfile n'est plus produit : verifier le cron syllabus-expiration-certificat."
|
|
|
|
- alert: SauvegardeAncienne
|
|
expr: (time() - syllabus_derniere_sauvegarde_reussie_timestamp) > 26 * 3600
|
|
for: 10m
|
|
labels:
|
|
severite: critique
|
|
annotations:
|
|
summary: "Derniere sauvegarde reussie il y a plus de 26h"
|
|
description: "Le timer de sauvegarde Dedibackup n'a pas reussi depuis plus de 26 heures : verifier /root/.dedibackup et le journal du service."
|