Supervision et logs
Kuploy met à votre disposition de quoi suivre la santé et les performances de vos applications.
La supervision de la plateforme elle-même — Prometheus, Alertmanager, santé de l'infrastructure — relève de votre administrateur de plateforme, pas de votre organisation. Voir Supervision de la plateforme.
Les logs en direct
Pour consulter les logs d'une application :
- Ouvrez votre application
- Cliquez sur l'onglet Logs
- Les logs défilent au fur et à mesure
Ce que vous pouvez en faire
- Flux en direct — les logs apparaissent dès qu'ils sont produits
- Recherche — filtrez par mot-clé ou expression régulière
- Plage de temps — remontez dans l'historique
- Téléchargement — exportez-les pour les analyser hors ligne
# Exemple de sortie
2024-01-15T10:30:45.123Z [INFO] Server started on port 3000
2024-01-15T10:30:46.456Z [INFO] Connected to database
2024-01-15T10:31:02.789Z [WARN] Slow query detected (523ms)
2024-01-15T10:31:15.012Z [ERROR] Failed to process request: timeout
Filtrer les logs
La barre de recherche accepte plusieurs formes :
| Filtre | Exemple | Description |
|---|---|---|
| Mot-clé | error | Affiche les logs contenant « error » |
| Expression régulière | /ERROR|WARN/ | Affiche les logs ERROR ou WARN |
| Niveau | level:error | Filtre par niveau de log |
| Temps | after:1h | Les logs de la dernière heure |
Les niveaux de log
Kuploy reconnaît les niveaux habituels :
| Niveau | Description |
|---|---|
| DEBUG | Informations détaillées de débogage |
| INFO | Messages de fonctionnement courants |
| WARN | Situations à surveiller |
| ERROR | Erreurs |
| FATAL | Défaillances critiques |
Les métriques du conteneur
Suivez la consommation de ressources en direct.
Processeur
Pour surveiller l'utilisation du processeur :
- Current usage — le pourcentage instantané
- Average — la moyenne glissante
- Throttling — le nombre de fois où le processeur a été bridé
CPU Usage: 45% | Avg (1h): 32% | Throttled: 0 times
Si le bridage revient souvent, envisagez une taille d'instance supérieure.
Mémoire
Pour surveiller la consommation mémoire :
- Used — la mémoire utilisée actuellement
- Limit — la mémoire maximale allouée
- Peak — le pic enregistré
Memory: 412 MB / 512 MB (80%) | Peak: 498 MB
Si la consommation dépasse régulièrement 80 %, passez à une offre supérieure ou optimisez votre application : vous éviterez les arrêts brutaux pour dépassement de mémoire (OOM).
Réseau
Pour suivre les échanges de données :
| Métrique | Description |
|---|---|
| Inbound | Données reçues par votre application |
| Outbound | Données émises par votre application |
| Connections | Connexions réseau actives |
Network: ↓ 1.2 MB/s | ↑ 890 KB/s | 245 connections
Disque
Pour suivre les opérations de stockage :
- Read — données lues sur le disque
- Write — données écrites sur le disque
- IOPS — opérations d'entrée-sortie par seconde
Le tableau de bord des métriques
Pour accéder aux métriques complètes :
- Ouvrez votre application
- Cliquez sur Metrics
- Choisissez une plage de temps (1 h, 6 h, 24 h, 7 j, 30 j)
- Parcourez les graphiques et les tendances
Les graphiques disponibles
- utilisation du processeur dans le temps
- utilisation de la mémoire dans le temps
- débit réseau
- nombre de requêtes
- temps de réponse (p50, p95, p99)
- taux d'erreur
- nombre d'instances actives
Notifications
Mettez en place des alertes pour rester informé de l'état de votre application.
Les canaux disponibles
| Canal | Ce qu'il faut |
|---|---|
| Slack | Une URL de webhook |
| Discord | Une URL de webhook |
| Telegram | Un jeton de bot et un identifiant de conversation |
| Des adresses e-mail |
Configurer Slack
- Allez dans Project Settings → Notifications
- Cliquez sur Add Channel → Slack
- Créez un webhook entrant dans Slack
- Collez l'URL du webhook
- Cliquez sur Test pour vérifier
- Cliquez sur Save
# Format d'une URL de webhook Slack
https://hooks.slack.com/services/TXXXXX/BXXXXX/votre-jeton-webhook
Configurer Discord
- Allez dans Project Settings → Notifications
- Cliquez sur Add Channel → Discord
- Créez un webhook dans les réglages de votre serveur Discord
- Collez l'URL du webhook
- Cliquez sur Save
Configurer Telegram
- Créez un bot auprès de @BotFather
- Récupérez son jeton
- Récupérez l'identifiant de votre conversation ou de votre groupe
- Allez dans Project Settings → Notifications
- Cliquez sur Add Channel → Telegram
- Saisissez le jeton et l'identifiant de conversation
- Cliquez sur Save
Configurer les notifications par e-mail
- Allez dans Project Settings → Notifications
- Cliquez sur Add Channel → Email
- Saisissez les adresses, séparées par des virgules s'il y en a plusieurs
- Cliquez sur Save
Les types d'alertes
Choisissez les événements qui déclenchent une notification :
| Événement | Description |
|---|---|
| Deploy Started | Un déploiement commence |
| Deploy Succeeded | Le déploiement a abouti |
| Deploy Failed | Le déploiement a échoué |
| App Down | L'application ne répond plus |
| App Recovered | L'application répond de nouveau |
| High CPU | L'utilisation du processeur dépasse le seuil |
| High Memory | L'utilisation de la mémoire dépasse le seuil |
| Certificate Expiring | Un certificat SSL approche de son expiration |
Vos propres alertes
Vous pouvez créer des alertes sur des conditions précises :
- Allez dans Alerts → Create Alert
- Définissez la condition :
IF cpu_usage > 80% FOR 5 minutes
THEN notify slack-channel - Choisissez les canaux de notification
- Cliquez sur Create
Quelques exemples de configuration :
# Alerte processeur
condition: cpu_usage > 80%
duration: 5m
severity: warning
# Alerte mémoire
condition: memory_usage > 90%
duration: 2m
severity: critical
# Pic d'erreurs
condition: error_rate > 5%
duration: 1m
severity: critical
# Temps de réponse dégradés
condition: response_time_p95 > 2000ms
duration: 10m
severity: warning
Contrôles de santé
Les contrôles de santé permettent de surveiller la disponibilité de votre application :
- Allez dans Settings → Health Checks
- Renseignez :
- Path :
/healthou/api/health - Interval : la fréquence des vérifications (30 s par défaut)
- Timeout : le délai d'attente maximal (5 s par défaut)
- Threshold : le nombre d'échecs avant de déclarer l'application en mauvaise santé
- Path :
// Exemple de point de contrôle (Express.js)
app.get('/health', (req, res) => {
res.status(200).json({ status: 'healthy' });
});
Bonnes pratiques
- Mettez les notifications en place tôt — n'attendez pas le premier incident
- Utilisez plusieurs canaux — Slack pour l'équipe, l'e-mail pour le critique
- Regardez vos métriques régulièrement — repérez les tendances avant qu'elles ne deviennent des problèmes
- Configurez les contrôles de santé — c'est ce qui permet la reprise automatique
- Choisissez des seuils réalistes — trop d'alertes tue l'alerte
- Gardez des logs propres — utilisez les niveaux à bon escient
- Suivez les métriques qui comptent — celles qui affectent vos utilisateurs