Live Services Status - Documentation
Vue d'Ensemble
Le système Live Services Status génère automatiquement une page de documentation listant en temps réel l'état de tous les services Docker déployés sur srv759970.
Accès Rapide
- 📄 Page Live: Services Status
- 🎯 Dashy Portal: https://dashy.srv759970.hstgr.cloud
- 📊 Grafana: https://monitoring.srv759970.hstgr.cloud
Fonctionnalités
📊 Statistiques en Temps Réel
- Total containers - Nombre total de conteneurs Docker
- Containers actifs - Services en cours d'exécution
- Containers arrêtés - Services désactivés
- Horodatage - Dernière mise à jour
📦 Liste Complète des Services
Pour chaque service Docker: - ✅ Nom du container - ✅ Status (🟢 running, 🔴 stopped, 🟡 restarting) - ✅ Uptime - Temps depuis le démarrage - ✅ Ports - Ports exposés et mappings
💻 Ressources Système
- RAM - Utilisation et pourcentage
- Disque - Espace utilisé et pourcentage
- Top Consommateurs - 10 containers utilisant le plus de RAM
Architecture
┌─────────────────────────────────────────────────────┐
│ Cron Job (toutes les 5 minutes) │
│ │
│ */5 * * * * generate-services-status-simple.sh │
└─────────────────┬───────────────────────────────────┘
│
│ Collecte données
▼
┌─────────────────────────────────────────────────────┐
│ Docker Engine API │
│ │
│ • docker ps -a (tous les containers) │
│ • docker stats (ressources) │
│ • docker inspect (health checks) │
└─────────────────┬───────────────────────────────────┘
│
│ Génération
▼
┌─────────────────────────────────────────────────────┐
│ docs/SERVICES_STATUS.md │
│ │
│ • Markdown formaté │
│ • Tableaux de données │
│ • Badges de statut │
└─────────────────┬───────────────────────────────────┘
│
│ Publication
▼
┌─────────────────────────────────────────────────────┐
│ MkDocs Material │
│ │
│ https://docs.srv759970.hstgr.cloud/ │
│ SERVICES_STATUS/ │
└─────────────────────────────────────────────────────┘
Configuration
Script de Génération
Emplacement: /root/hostinger/scripts/generate-services-status-simple.sh
Permissions:
Cron Job
Configuration actuelle:
*/5 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1
Vérifier le cron:
Fichier de Sortie
Emplacement: /root/hostinger/docs/SERVICES_STATUS.md
Format: Markdown compatible MkDocs Material
Utilisation
Mise à Jour Manuelle
Méthode 1 - Alias:
Méthode 2 - Commande complète:
Visualisation
1. Via MkDocs (recommandé): - Accéder à https://docs.srv759970.hstgr.cloud/SERVICES_STATUS/ - Navigation: "🚀 Services Status (Live)"
2. Via fichier brut:
3. Via less (pour scroll):
Consultation des Logs
Logs en temps réel:
Dernières exécutions:
Rechercher les erreurs:
Personnalisation
Modifier l'Intervalle de Mise à Jour
Éditer le cron:
Exemples d'intervalles:
# Toutes les minutes (très fréquent)
*/1 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1
# Toutes les 10 minutes (recommandé pour réduire la charge)
*/10 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1
# Toutes les 30 minutes (léger)
*/30 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1
# Toutes les heures
0 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1
Ajouter des Catégories Personnalisées
Éditer le script pour mapper des containers à des catégories:
Filtrer Certains Containers
Pour exclure certains containers de la liste:
# Dans le script, modifier la ligne docker ps
docker ps -a --format '{{.Names}}|{{.Status}}|{{.Ports}}' | grep -v "unwanted-container" | sort
Monitoring & Alertes
Vérifier que le Script Fonctionne
Test 1 - Dernière modification:
Test 2 - Exécution manuelle:
cd /root/hostinger && ./scripts/generate-services-status-simple.sh
# Doit afficher: ✅ Services status page generated
Test 3 - Vérifier le cron:
Alertes sur Échecs
Option 1 - Email sur erreur:
Modifier le cron pour envoyer un email en cas d'erreur:
MAILTO=your-email@example.com
*/5 * * * * cd /root/hostinger && ./scripts/generate-services-status-simple.sh >> /var/log/services-status.log 2>&1 || echo "Services status generation failed"
Option 2 - Webhook Discord/Slack:
Ajouter à la fin du script:
# En cas d'erreur
if [ $? -ne 0 ]; then
curl -X POST https://your-webhook-url \
-H "Content-Type: application/json" \
-d '{"content":"❌ Services status generation failed!"}'
fi
Intégrations
Grafana Dashboard
Créer un dashboard Grafana affichant les métriques:
- Panel "Total Containers" - Nombre total de containers
- Panel "Services Status" - Répartition actifs/arrêtés
- Panel "RAM Usage" - Top consommateurs
- Panel "Generation Time" - Temps d'exécution du script
API REST
Exposer les données via une API:
# Convertir markdown en JSON
cat docs/SERVICES_STATUS.md | \
python3 -c "import json; import sys; print(json.dumps({'status': 'ok'}))" \
> /var/www/html/services-status.json
Accessible via: http://srv759970.hstgr.cloud/services-status.json
Dashy Widget
Intégrer dans Dashy pour affichage visuel:
# /opt/dashy/conf.yml
widgets:
- type: iframe
options:
url: https://docs.srv759970.hstgr.cloud/SERVICES_STATUS/
height: 600
Dépannage
Le Script ne S'exécute pas
1. Vérifier les permissions:
ls -l /root/hostinger/scripts/generate-services-status-simple.sh
chmod +x /root/hostinger/scripts/generate-services-status-simple.sh
2. Vérifier le cron:
3. Vérifier les logs:
Le Fichier n'est pas Généré
1. Vérifier le répertoire:
2. Tester Docker:
3. Exécuter avec debug:
Les Données ne Sont pas à Jour
1. Vérifier l'horodatage:
2. Forcer une mise à jour:
3. Vérifier le cache MkDocs:
Performance
Temps d'Exécution
Mesure:
Temps moyen: ~2-3 secondes pour 64 containers
Optimisations
1. Réduire la fréquence: - Passer de 5 minutes à 10 minutes
2. Cache Docker:
# Utiliser le cache Docker stats
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}" > /tmp/docker-stats.cache
3. Génération asynchrone:
Sécurité
Permissions
Script:
chmod 700 /root/hostinger/scripts/generate-services-status-simple.sh
chown root:root /root/hostinger/scripts/generate-services-status-simple.sh
Fichier de sortie:
Logs
Rotation des logs:
# /etc/logrotate.d/services-status
/var/log/services-status.log {
daily
rotate 7
compress
missingok
notifempty
}
Voir Aussi
- Dashy Portal - Dashboard visuel
- Monitoring Stack - Grafana + Prometheus
- Dozzle - Logs Docker temps réel
- Portainer - Gestion Docker GUI
Ressources
- Script:
/root/hostinger/scripts/generate-services-status-simple.sh - Documentation:
/root/hostinger/scripts/README.md - Logs:
/var/log/services-status.log - Sortie:
/root/hostinger/docs/SERVICES_STATUS.md
Dernière mise à jour: 2025-10-23 Status: ✅ Production Maintenance: Automatique via cron