Supervision - FunWarry/Projet-ESEO-css-datacenter GitHub Wiki
Supervision - ESEO Teaching Cloud
1. Introduction
La supervision est un aspect essentiels du projet ESEO Teaching Cloud (ETC) pour garantir la disponibilité, la performance et la sécurité de l'infrastructure et des services. Elle permet de détecter et de résoudre rapidement les problèmes, de prévenir les incidents et d'assurer le bon fonctionnement de la plateforme.
2. Objectifs de la supervision
Les principaux objectifs de la supervision sont les suivants :
- Disponibilité : Assurer que l'infrastructure et les services sont disponibles pour les utilisateurs 24 heures sur 24, 7 jours sur 7.
- Performance : Surveiller les performances de l'infrastructure et des services et optimiser leur fonctionnement pour garantir une expérience utilisateur optimale.
- Sécurité : Détecter et répondre aux incidents de sécurité pour protéger l'infrastructure et les données contre les menaces.
- Fiabilité : Prévenir les pannes et les incidents en effectuant une maintenance proactive et en mettant en place des mécanismes de redondance et de basculement.
- Capacité : Surveiller l'utilisation des ressources et planifier les besoins futurs en capacité pour éviter les goulots d'étranglement.
- Conformité : S'assurer que l'infrastructure et les services sont conformes aux normes et aux politiques de sécurité applicables.
3. Outils de supervision
Les outils suivants sont utilisés pour superviser l'infrastructure et les services du projet ETC :
- Zabbix : Pour la surveillance des performances du matériel et du système d'exploitation. Zabbix permet de collecter des métriques sur l'utilisation des ressources (CPU, mémoire, disque, réseau), de suivre l'évolution des performances et de détecter les anomalies.
- OPNsense : Pour la surveillance du réseau et de la sécurité. OPNsense fournit des informations sur le trafic réseau, les connexions actives, les performances du pare-feu et les événements de sécurité.
- Système de journalisation centralisée (Graylog) : Pour la collecte et l'analyse des logs des différents composants de l'infrastructure. Un système de journalisation centralisée facilite le dépannage, la détection des incidents de sécurité et l'analyse des tendances.
4. Métriques et alertes
Les métriques suivantes sont surveillées pour évaluer la santé de l'infrastructure et des services :
- Disponibilité des services : Pourcentage du temps pendant lequel les services sont accessibles aux utilisateurs.
- Temps de réponse des applications : Délai nécessaire pour qu'une application réponde à une requête de l'utilisateur.
- Utilisation du CPU, de la mémoire et du disque : Pourcentage des ressources utilisées par les serveurs.
- Trafic réseau : Volume de données transitant sur le réseau.
- Nombre de connexions actives : Nombre de connexions simultanées à un service.
- Taux d'erreurs : Nombre d'erreurs rencontrées par un service.
- Latence réseau : Délai nécessaire pour qu'un paquet de données voyage d'un point à un autre sur le réseau.
Des alertes sont configurées pour notifier les administrateurs en cas de dépassement des seuils définis pour ces métriques. Les alertes peuvent être envoyées par e-mail ou autres canaux.
5. Procédures de maintenance
Les procédures de maintenance suivantes sont mises en place pour assurer le bon fonctionnement de l'infrastructure et des services :
- Maintenance préventive : Elle comprend des tâches telles que l'installation des mises à jour de sécurité, la vérification des journaux système, la surveillance de l'espace disque et le remplacement des composants matériels vieillissants.
- Maintenance corrective : Elle consiste à résoudre les problèmes et les incidents qui surviennent, tels que les pannes de service, les erreurs d'application et les incidents de sécurité.
- Maintenance évolutive : Elle comprend les mises à niveau des systèmes et des applications, l'ajout de nouvelles fonctionnalités et l'adaptation de l'infrastructure aux besoins changeants.
6. Sauvegarde et restauration
Une stratégie de sauvegarde et de restauration est mise en place pour protéger les données et les configurations du système contre les pertes. Les éléments suivants sont sauvegardés régulièrement :
- Données des applications : Bases de données, fichiers de configuration, etc.
- Configurations du système : Fichiers de configuration des serveurs, des applications et des services.
- Images des machines virtuelles : Pour permettre une restauration rapide en cas de sinistre. (très couteux, car volumineux)
Les sauvegardes sont stockées sur un support de stockage distinct et sécurisé. A précisé
7. Politique de Sauvegarde
7.1 Données Critiques à Sauvegarder
Type de données | Raison de la sauvegarde | Fréquence |
---|---|---|
Bases de données (MariaDB, PostgreSQL, etc.) | Contiennent toutes les données des applications et services | Quotidienne |
Configurations système (/etc/, /var/lib/) | Reconfiguration manuelle longue et sujette à erreurs | À chaque modification |
Données des utilisateurs (fichiers stockés sur les serveurs) | Essentielles pour étudiants et enseignants | Quotidienne ou en temps réel |
Machines virtuelles (VM) | Permet une restauration rapide en cas de problème | Hebdomadaire |
Logs système et applicatifs | Aide au dépannage et à la sécurité | Quotidienne (avec rotation) |
Scripts d’automatisation et fichiers d’infrastructure (Ansible, Vagrant, Docker, etc.) | Permet de reconstruire rapidement les serveurs | À chaque mise à jour |
Données de supervision (Zabbix) | Suivi des performances et alertes | Quotidienne |
7.2 Données Secondaires (Sauvegarde Optionnelle)
Type de données | Raison de la sauvegarde | Fréquence |
---|---|---|
Snapshots de services (WordPress, Tomcat, etc.) | Évite la réinstallation et reconfiguration en cas de crash | Hebdomadaire |
Caches et fichiers temporaires | Accélère la récupération après un incident | Pas prioritaire |
Sauvegardes intermédiaires sur site | Copie locale avant externalisation | Variable |
7.3 Emplacement des Sauvegardes
Application de la règle 3-2-1 :
- 3 copies des données
- 2 supports différents (ex. disque local + serveur distant)
- 1 copie hors site (ex. cloud ou stockage externe chiffré)
Exemples de stockage :
- Sauvegarde locale : NAS, disque dur externe, autre serveur
- Sauvegarde distante : Gitea
- Sauvegarde offline : Clé USB chiffrée ou disque dur déconnecté
7.4 Automatisation et Supervision des Sauvegardes
- Automatisation : Utiliser Ansible pour déployer et gérer les sauvegardes.
- Supervision : Mettre en place Zabbix pour détecter les échecs (ex. un script envoie un signal en cas d’échec).
7.5 Sauvegarde Différentielle avec BorgBackup
Pourquoi utiliser BorgBackup ?
-
Compression et gain d’espace
- BorgBackup compresse automatiquement les fichiers, réduisant la taille des sauvegardes par rapport à rsync.
-
Dé-duplication intelligente
- Seuls les blocs modifiés d’un fichier sont sauvegardés, évitant la recopie complète lors de petites modifications.
-
Restauration rapide et simple
- Il est facile de lister et de restaurer une version précise d’un fichier.
- Exemple :
borg list /mnt/backup/borg_repo # Voir toutes les sauvegardes disponibles borg extract /mnt/backup/borg_repo::backup-2025-02-18 /etc/hosts # Restaurer un fichier spécifique
-
Sécurité et intégrité
- Intègre des checksums pour vérifier l’intégrité de la sauvegarde.
-
Gestion automatique de la rétention
- Supprime automatiquement les anciennes sauvegardes selon une politique définie.
- Exemple :
borg prune --keep-daily=7 --keep-monthly=1 /mnt/backup/borg_repo
7.6 Priorités de Sauvegarde
- Bases de données (critique)
- Configurations système et fichiers critiques (obligatoire)
- Machines virtuelles (recommandé)
- Données utilisateurs et logs (optionnel mais utile)
À noter : Si une seule chose devait être sauvegardée, ce serait les bases de données et les configurations, car elles permettent de tout reconstruire rapidement.
8. Plan de reprise d'activité (PRA)
Un plan de reprise d'activité (PRA) est élaboré pour assurer la continuité de service en cas de sinistre majeur (par exemple, incendie, inondation, panne de courant prolongée). Le PRA décrit les étapes à suivre pour restaurer l'infrastructure et les services dans un site de secours. Il comprend les éléments suivants :
- Identification des systèmes critiques : Définition des systèmes et des services essentiels au fonctionnement de l'ESEO.
- Procédure de basculement : Description des étapes à suivre pour basculer les systèmes critiques vers le site de secours.
- Procédure de restauration : Description des étapes à suivre pour restaurer les données et les configurations sur le site de secours. (l'autre sale)
- Tests du PRA : Tests du PRA pour vérifier son bon fonctionnement et s'assurer que les délais de reprise sont respectés.
9. Documentation (a faire)
Toutes les procédures de supervision et de maintenance sont soigneusement documentées dans ce wiki. La documentation comprend :
- Les guides d'installation et de configuration des outils de supervision.
- Les procédures de surveillance des métriques et de gestion des alertes.
- Les procédures de maintenance préventive, corrective et évolutive.
- Les procédures de sauvegarde et de restauration.
- Le plan de reprise d'activité (PRA).
La documentation est mise à jour régulièrement pour refléter les changements apportés à l'infrastructure et aux procédures de supervision et de maintenance.