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: RestaurationNonTestee expr: (time() - syllabus_derniere_restauration_reussie_timestamp) > 8 * 86400 for: 1h labels: severite: avertissement annotations: summary: "Aucun test de restauration du portail reussi depuis plus de 8 jours" description: "Voir journalctl -u syllabus-test-restauration et docs/runbooks/sauvegardes.md." - alert: VmPanneGenerale expr: syllabus_vm_panne_generale == 1 for: 5m labels: severite: critique annotations: summary: "Self-healing des VM : aucune action possible depuis plus de 5 minutes" description: "Toutes les VM sondees sont muettes a la fois, ou le correcteur est injoignable : probable panne de l'hyperviseur, pas des VM une a une. Voir docs/runbooks/self-healing.md." - alert: VmIrreparable expr: syllabus_vm_irreparables > 0 for: 5m labels: severite: avertissement annotations: summary: "{{ $value }} VM d'eleve ne repond plus malgre les redemarrages automatiques" description: "Deja visible du prof dans la salle d'attente. Voir docs/runbooks/self-healing.md." - alert: VmSurveillanceArretee expr: absent(syllabus_vm_surveillance_timestamp) for: 5m labels: severite: avertissement annotations: summary: "Le self-healing des VM ne publie plus de metrique" description: "labs:surveiller-vm (scheduler Laravel, chaque minute) ne tourne plus ou n'ecrit plus sante_vm.prom : voir docs/runbooks/self-healing.md." - 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."