Aller au contenu principal

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 :

  1. Ouvrez votre application
  2. Cliquez sur l'onglet Logs
  3. 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 :

FiltreExempleDescription
Mot-cléerrorAffiche les logs contenant « error »
Expression régulière/ERROR|WARN/Affiche les logs ERROR ou WARN
Niveaulevel:errorFiltre par niveau de log
Tempsafter:1hLes logs de la dernière heure

Les niveaux de log​

Kuploy reconnaît les niveaux habituels :

NiveauDescription
DEBUGInformations détaillées de débogage
INFOMessages de fonctionnement courants
WARNSituations à surveiller
ERRORErreurs
FATALDé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
astuce

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
Éviter les arrêts pour dépassement mémoire

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étriqueDescription
InboundDonnées reçues par votre application
OutboundDonnées émises par votre application
ConnectionsConnexions 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 :

  1. Ouvrez votre application
  2. Cliquez sur Metrics
  3. Choisissez une plage de temps (1 h, 6 h, 24 h, 7 j, 30 j)
  4. 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​

CanalCe qu'il faut
SlackUne URL de webhook
DiscordUne URL de webhook
TelegramUn jeton de bot et un identifiant de conversation
E-mailDes adresses e-mail

Configurer Slack​

  1. Allez dans Project Settings → Notifications
  2. Cliquez sur Add Channel → Slack
  3. Créez un webhook entrant dans Slack
  4. Collez l'URL du webhook
  5. Cliquez sur Test pour vérifier
  6. Cliquez sur Save
# Format d'une URL de webhook Slack
https://hooks.slack.com/services/TXXXXX/BXXXXX/votre-jeton-webhook

Configurer Discord​

  1. Allez dans Project Settings → Notifications
  2. Cliquez sur Add Channel → Discord
  3. Créez un webhook dans les réglages de votre serveur Discord
  4. Collez l'URL du webhook
  5. Cliquez sur Save

Configurer Telegram​

  1. Créez un bot auprès de @BotFather
  2. Récupérez son jeton
  3. Récupérez l'identifiant de votre conversation ou de votre groupe
  4. Allez dans Project Settings → Notifications
  5. Cliquez sur Add Channel → Telegram
  6. Saisissez le jeton et l'identifiant de conversation
  7. Cliquez sur Save

Configurer les notifications par e-mail​

  1. Allez dans Project Settings → Notifications
  2. Cliquez sur Add Channel → Email
  3. Saisissez les adresses, séparées par des virgules s'il y en a plusieurs
  4. Cliquez sur Save

Les types d'alertes​

Choisissez les événements qui déclenchent une notification :

ÉvénementDescription
Deploy StartedUn déploiement commence
Deploy SucceededLe déploiement a abouti
Deploy FailedLe déploiement a échoué
App DownL'application ne répond plus
App RecoveredL'application répond de nouveau
High CPUL'utilisation du processeur dépasse le seuil
High MemoryL'utilisation de la mémoire dépasse le seuil
Certificate ExpiringUn certificat SSL approche de son expiration

Vos propres alertes​

Vous pouvez créer des alertes sur des conditions précises :

  1. Allez dans Alerts → Create Alert
  2. Définissez la condition :
    IF cpu_usage > 80% FOR 5 minutes
    THEN notify slack-channel
  3. Choisissez les canaux de notification
  4. 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 :

  1. Allez dans Settings → Health Checks
  2. Renseignez :
    • Path : /health ou /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é
// Exemple de point de contrôle (Express.js)
app.get('/health', (req, res) => {
res.status(200).json({ status: 'healthy' });
});

Bonnes pratiques​

  1. Mettez les notifications en place tôt — n'attendez pas le premier incident
  2. Utilisez plusieurs canaux — Slack pour l'équipe, l'e-mail pour le critique
  3. Regardez vos métriques régulièrement — repérez les tendances avant qu'elles ne deviennent des problèmes
  4. Configurez les contrôles de santé — c'est ce qui permet la reprise automatique
  5. Choisissez des seuils réalistes — trop d'alertes tue l'alerte
  6. Gardez des logs propres — utilisez les niveaux à bon escient
  7. Suivez les métriques qui comptent — celles qui affectent vos utilisateurs