Docs/ Opérations/ Surveillance et métriques

Surveillance et métriques

Gardez un œil sur votre infrastructure avec des métriques intégrées, des alertes configurables, des vérifications de disponibilité et des pages de statut partageables -- le tout sans outils externes.

Tableau de bord des métriques

sh0 collecte les métriques d'utilisation des ressources de chaque conteneur et du système hôte. Le tableau de bord des métriques fournit des vues en temps réel et historiques de l'utilisation du CPU, de la mémoire, du disque et du réseau.

Accédez aux métriques depuis deux endroits :

  • Métriques au niveau du serveur -- Utilisation globale des ressources de l'hôte sur tous les conteneurs. Accédez à Paramètres → Métriques.
  • Métriques au niveau du service -- Utilisation par conteneur. Ouvrez n'importe quel service et cliquez sur l'onglet Métriques.
Server-level metrics dashboard -- showing CPU, memory, disk, and network charts with time range selector

Métriques CPU

Les métriques CPU montrent le pourcentage de cœurs CPU disponibles en utilisation. Pour les conteneurs avec des limites CPU, le graphique affiche également la limite comme ligne de référence pour voir à quel point le conteneur est proche du throttling.

CPU usage chart -- showing a time series line graph with the container CPU limit displayed as a dashed line

Métriques mémoire

Les métriques mémoire affichent la consommation RAM actuelle, l'utilisation du cache et la limite configurée. Un conteneur qui utilise constamment une mémoire proche de sa limite peut nécessiter une allocation plus élevée ou avoir une fuite de mémoire.

  • Utilisée -- Mémoire active consommée par le processus.
  • Cache -- Cache du système de fichiers (peut être récupéré par le SE).
  • Limite -- Le plafond de mémoire configuré.

Disque et réseau

Les métriques disque montrent l'espace total et utilisé sur le système de fichiers de l'hôte. Les métriques réseau suivent le trafic entrant et sortant par conteneur en octets par seconde.

Disk usage bar and network I/O chart -- showing inbound and outbound traffic over time

Rétention des métriques

Les métriques sont stockées dans la base de données SQLite interne de sh0 avec un sous-échantillonnage automatique pour maintenir les besoins de stockage bas :

Plage temporelleRésolutionRétention
Dernière heure10 secondes1 heure
Dernières 24 heures1 minute24 heures
7 derniers jours5 minutes7 jours
30 derniers jours1 heure30 jours
Note
Les données de métriques sont stockées localement sur le serveur. Si vous avez besoin d'une rétention de métriques à long terme ou d'une surveillance externe, vous pouvez intégrer des outils comme Prometheus ou Grafana en exposant le point de terminaison de métriques.

Configuration des alertes

Les alertes vous notifient lorsqu'une métrique dépasse un seuil. Vous pouvez définir des alertes sur l'utilisation du CPU, de la mémoire, de l'espace disque et le statut de santé des conteneurs.

  1. Accédez à Paramètres → Alertes.
  2. Cliquez sur Ajouter une alerte.
  3. Sélectionnez le type de métrique (CPU, mémoire, disque ou statut de conteneur).
  4. Définissez la valeur seuil (par ex., CPU > 80 %).
  5. Choisissez la durée -- combien de temps la condition doit persister avant de se déclencher (par ex., 5 minutes).
  6. Sélectionnez un ou plusieurs canaux de notification.
  7. Cliquez sur Enregistrer.
Alert configuration form -- metric type selector, threshold slider, duration input, and notification channel checkboxes

Canaux de notification

sh0 prend en charge plusieurs canaux de notification pour les alertes :

  • E-mail -- Envoyer des e-mails d'alerte à une ou plusieurs adresses.
  • Webhook -- Envoyer une charge utile JSON en POST à n'importe quelle URL (fonctionne avec Slack, Discord, PagerDuty, etc.).
  • Tableau de bord -- Afficher une bannière de notification dans le tableau de bord sh0 (toujours activé).
Webhook payload example
{
  "alert": "CPU Usage High",
  "service": "my-api",
  "stack": "production",
  "metric": "cpu_percent",
  "value": 92.5,
  "threshold": 80,
  "status": "firing",
  "timestamp": "2026-03-21T14:30:00Z"
}
Tip
Pour envoyer des alertes vers Slack, créez une URL Slack Incoming Webhook et ajoutez-la comme canal de notification webhook. La charge utile d'alerte de sh0 fonctionne avec le format attendu par Slack.

Surveillance de la disponibilité

La surveillance de la disponibilité vérifie que vos services répondent aux requêtes HTTP. sh0 envoie des requêtes à vos points de terminaison configurés à intervalles réguliers et enregistre le statut de réponse et la latence.

  1. Ouvrez votre service et accédez à l'onglet Disponibilité.
  2. Cliquez sur Ajouter une vérification.
  3. Saisissez l'URL à surveiller (par ex., https://myapp.sh0.app/health).
  4. Définissez l'intervalle de vérification (30 secondes, 1 minute, 5 minutes, etc.).
  5. Définissez éventuellement le code de statut attendu (par défaut : 200).
  6. Cliquez sur Enregistrer.
Uptime monitoring dashboard -- showing uptime percentage, response time graph, and recent check results

Lorsqu'une vérification échoue consécutivement pour le nombre de tentatives configuré, sh0 déclenche l'alerte associée. Lorsque le service récupère, une notification de récupération est envoyée automatiquement.

Pages de statut publiques

Créez une page de statut publique pour partager la disponibilité de vos services avec vos utilisateurs. Les pages de statut montrent l'état actuel et la disponibilité historique des services sélectionnés.

  1. Accédez à Paramètres → Pages de statut.
  2. Cliquez sur Créer une page de statut.
  3. Choisissez un slug d'URL (par ex., status.yourdomain.com).
  4. Sélectionnez les services et les vérifications de disponibilité à afficher.
  5. Personnalisez le titre de la page et l'image de marque.
  6. Cliquez sur Publier.
Warning
Le formulaire d'abonnement par courriel n'apparaît sur une page de statut publique que si l'instance peut réellement envoyer du courrier (SMTP configuré dans les Réglages). Sans SMTP, la page est servie sans le formulaire, plutôt que de promettre un courriel de confirmation qui n'arriverait jamais.
Public status page -- showing service statuses (operational, degraded, outage) and a 90-day uptime history bar
Note
Les pages de statut sont servies par sh0 lui-même via Caddy. Vous pouvez pointer un domaine personnalisé vers votre page de statut en ajoutant un enregistrement CNAME. Les certificats SSL sont provisionnés automatiquement.