Files
innotexBoard/DISKS_USE_CASES.md
2026-01-16 18:40:39 +01:00

8.6 KiB

Cas d'usage et Best Practices - Disques et Partitions

📌 Cas d'usage principaux

1. Monitoring des espaces disque

Contexte: Un administrateur système veut surveiller l'espace disponible

Workflow:

  1. Se connecter à InnotexBoard
  2. Cliquer sur "💾 Disques et Partitions"
  3. Observer les barres de progression
  4. Identifier les disques proches de saturation (rouge > 90%)
  5. Agir avant que le disque ne soit plein

Bénéfice: Prévention de l'arrêt du système due à manque d'espace


2. Identification des goulots d'étranglement

Contexte: Déterminer quel disque/partition cause un problème de performance

Workflow:

  1. Observer le taux d'utilisation de chaque partition
  2. Identifier les partitions à 75-90% (zone orange)
  3. Vérifier quelles applications l'utilisent
  4. Planifier une augmentation de capacité

Bénéfice: Prévention de dégradation de performance


3. Vérification après déploiement

Contexte: Confirmer que les disques ont été provisionnés correctement

Workflow:

  1. Après un déploiement ou mise en place de nouveau matériel
  2. Accéder à la page Disques et Partitions
  3. Vérifier que les disques sont présents et visibles
  4. Confirmer que les points de montage sont corrects
  5. Valider les tailles configurées

Bénéfice: Vérification rapide sans SSH


4. Reporting et audit

Contexte: Générer un rapport sur l'utilisation des disques

Workflow:

  1. Prendre une capture d'écran de la page
  2. Exporter les données (possible implémentation future)
  3. Inclure dans un rapport mensuel
  4. Identifier les tendances

Bénéfice: Documentation pour les audits de conformité


5. Diagnostic d'incident

Contexte: Investiguer pourquoi un service a arrêté

Workflow:

  1. Un service a crashé
  2. Ouvrir InnotexBoard
  3. Vérifier si un disque est saturé (100%)
  4. Confirmer que ce n'est pas la cause
  5. Investiguer ailleurs

Bénéfice: Elimination rapide d'une cause commune


Best Practices

Pour les administrateurs

1. Surveillance régulière

Fréquence recommandée: Quotidienne
- Vérifier les disques en orange (75-90%) le matin
- Identifier les tendances de croissance
- Prévoir les augmentations de capacité

2. Alertes proactives

Seuils recommandés:
- Orange (75%): Alerter que le temps de prévoir est venu
- Rouge (90%): Activer le plan d'urgence
- 100%: Situation d'urgence critique

3. Planification de capacité

Formule simple:
- Croissance mensuelle = (Utilisé mois N - Utilisé mois N-1) / Mois
- Temps avant saturation = Disponible / Croissance mensuelle
- Action si < 6 mois avant saturation

4. Documentation

Pour chaque disque/partition, documenter:
- Taille provisionnée
- Raison de cette taille
- Applications principales
- Besoin estimé dans 6-12 mois

Pour les développeurs

1. Intégration avec le monitoring

Possible: Ajouter des webhooks
- POST /api/monitoring/alert-capacity
- Déclencher des alertes Grafana/Prometheus
- Intégrer avec les systèmes de tickets (Jira, etc)

2. Performance

- Ne pas appeler l'API plus de 1 fois par minute en production
- Implémenter du caching côté serveur (5-10s)
- Utiliser WebSockets pour les mises à jour en temps réel

3. Extension

Idées d'amélioration:
- Historique de l'utilisation (graphiques)
- Alertes automatiques
- Export CSV/JSON
- Alertes email/Slack
- Prédiction de saturation (ML)

Pour les opérations

1. Automatisation

# Exemple: Script pour exporter quotidiennement
#!/bin/bash
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
curl -s http://localhost:8000/api/system/disks \
  -H "Authorization: Bearer $TOKEN" > backup/disks_$TIMESTAMP.json

2. Intégration monitoring

# Prometheus scraper (exemple future)
- job_name: 'innotex_disks'
  static_configs:
    - targets: ['localhost:8000']
  metrics_path: '/api/system/disks'

3. Sauvegardes intelligentes

- Éviter les sauvegardes sur un disque à > 85%
- Priorité des sauvegardes si < 20% disponible
- Alerter les administrateurs si dégradation rapide

🎯 Métriques clés à surveiller

1. Taux de croissance

Formule: (Utilisé_mois_N - Utilisé_mois_N-1) / 30 jours
Interprétation:
- < 100MB/jour: Normale
- 100-500MB/jour: À surveiller
- > 500MB/jour: Action requise

2. Ratio utilisation/disponible

Interprétation:
- < 50%: Sain
- 50-75%: Normal mais à surveiller
- 75-90%: Préoccupant, planifier l'augmentation
- > 90%: Critique

3. Temps avant saturation

Calcul: Disponible / Taux_croissance
Seuil d'alerte: < 3 mois
Priorité haute: < 2 mois

🚨 Gestion des incidents

Scenario 1: Disque à 100%

Actions immédiates:
1. Vérifier quel processus utilise l'espace
2. Identifier les fichiers volumineux
   lsof | grep -E 'DEL|SIZE'
   du -sh /* | sort -rh
3. Nettoyer les fichiers non essentiels
4. Si critique: Étendre le disque (LVM)

Prévention:
- Monitoring quotidien
- Nettoyage automatique des vieux logs
- Alertes à 80%

Scenario 2: Croissance anormale

Actions diagnostiques:
1. Accéder à la page Disques
2. Vérifier les statistiques
3. Comparer avec jour/semaine précédents
4. Identifier l'anomalie (logs, caches, données temporaires)
5. Arrêter le processus fautif
6. Nettoyer les fichiers temporaires

Exemple:
- Les logs Apache ont explosé (100GB en 1 jour)
- Solution: Rotation des logs plus fréquente

Scenario 3: Nouvelle partition apparaît

Actions:
1. Vérifier si c'était planifié
2. Si oui: Monter correctement et ajouter à /etc/fstab
3. Si non: Investiguer (test hardware? nouveau volume?)
4. Mettre à jour la documentation

Exemple:
- Nouveau disque USB branché
- Nouveau volume cloud monté

📊 Cas limites et gestion

1. Partitions non montées

Comportement: Affichage du nom, pas de pourcentage
Raison: Impossible de lire l'utilisation d'une partition non montée
Solution: Monter la partition si nécessaire

2. Permissions insuffisantes

Comportement: La partition n'apparaît pas ou affiche 0%
Raison: Pas d'accès à psutil.disk_usage()
Solution: Vérifier les permissions du user FastAPI

3. Disques réseau lents

Comportement: Timeout sur lsblk (> 10s)
Raison: Disque NFS/iSCSI avec latence élevée
Solution: Augmenter le timeout ou exclure le disque

4. Disques en raid/LVM

Comportement: Affichage des disques logiques + physiques
Solution: Les deux sont visibles, c'est normal

🔍 Vérifications régulières

Checklist hebdomadaire

☐ Vérifier que toutes les partitions importantes sont dans l'interface
☐ Confirmer qu'aucun disque n'est en rouge (> 90%)
☐ Vérifier que les points de montage sont corrects
☐ Identifier les disques en croissance rapide
☐ Valider les sauvegardes si nécessaire

Checklist mensuelle

☐ Analyser la croissance de chaque partition
☐ Créer un graphique d'utilisation (historique)
☐ Comparer avec le mois précédent
☐ Mettre à jour les prévisions
☐ Planifier les augmentations nécessaires
☐ Nettoyer les données temporaires

Checklist trimestrielle

☐ Revoir la stratégie de partitionnement
☐ Évaluer si lsblk produit la bonne information
☐ Vérifier la capacité vs les besoins estimés
☐ Mettre à jour la documentation
☐ Prévoir les changements matériels

💡 Tips & Tricks

Raccourci rapide

// Dans la console navigateur:
// Rafraîchir manuellement les données
document.querySelector('button').click()  // Si bouton existe

Export de données

# Script pour exporter régulièrement (cron)
0 0 * * * /usr/local/bin/export_disks.sh

# Contenu du script:
#!/bin/bash
TOKEN=$(curl -s -X POST http://localhost:8000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "admin"}' | jq -r '.access_token')

curl -s -X GET http://localhost:8000/api/system/disks \
  -H "Authorization: Bearer $TOKEN" > /var/log/disk-usage-$(date +%Y%m%d).json

Alertes Slack (futur)

# À implémenter
if percent_used > 90:
    send_slack_alert(f"Disque {name} à {percent_used}%!")

📚 Ressources supplémentaires


Dernière mise à jour: 16 janvier 2026