Supervision
Vuisio expose ses métriques au format Prometheus et fournit un tableau de bord Grafana prêt à l’emploi.
L’endpoint /metrics
Section intitulée « L’endpoint /metrics »Le SFU expose un endpoint /metrics au format Prometheus. Il est désactivé
par défaut : il n’apparaît que si le jeton VUISIO_METRICS_TOKEN est
configuré. Les requêtes doivent porter l’en-tête Authorization: Bearer <jeton>
(comparaison à temps constant). Sans jeton configuré, l’endpoint répond 404 ;
avec un mauvais jeton, 403.
Les métriques exposées
Section intitulée « Les métriques exposées »Compteurs (cumuls depuis le démarrage) :
| Métrique | Mesure |
|---|---|
vuisio_packets_received_total | paquets UDP reçus |
vuisio_packets_sent_total | paquets UDP envoyés aux clients |
vuisio_packets_dropped_total | paquets abandonnés (aucun destinataire) |
vuisio_media_forwarded_total | paquets média retransmis |
vuisio_audio_forwarded_total | paquets audio retransmis |
vuisio_rooms_created_total | salles créées |
vuisio_participants_joined_total | participants ayant rejoint |
vuisio_datachannel_send_failures_total | échecs d’envoi sur datachannel |
Jauges (valeurs instantanées) :
| Métrique | Mesure |
|---|---|
vuisio_rooms_active | salles actives |
vuisio_participants_active | participants actifs |
vuisio_moderators_active | modérateurs actifs |
vuisio_cameras_active | caméras activées |
vuisio_mics_active | micros activés |
vuisio_screen_shares_active | partages d’écran actifs |
vuisio_speakers_active | salles avec un orateur actif |
vuisio_sfu_threads | nombre de threads SFU |
vuisio_max_participants_per_room | plafond de participants par salle |
vuisio_process_cpu_seconds_total | temps CPU du processus |
vuisio_process_resident_memory_bytes | mémoire résidente |
vuisio_process_open_fds | descripteurs de fichiers ouverts |
vuisio_sfu_thread_cpu_seconds_total | temps CPU par thread SFU (label thread) |
vuisio_cross_thread_queue_depth | profondeur de la file inter-threads (label thread) |
Le tableau de bord fourni
Section intitulée « Le tableau de bord fourni »L’installeur peut déployer une pile de supervision complète (Prometheus +
Grafana), désactivée par défaut. Vous l’activez pendant l’installation (ou plus
tard avec vuisio reconfigure).
- Prometheus scrute le SFU (
/metrics) toutes les 15 secondes en passant le jeton en bearer, et collecte aussi les métriques de l’hôte (node exporter, process exporter). - Grafana charge automatiquement un tableau de bord « Vuisio overview ».
- Grafana est servi derrière nginx sur le chemin
/grafana/, restreint aux plages d’adresses (CIDR) que vous autorisez.
Si vous avez déjà votre propre Prometheus, il suffit de scruter l’endpoint
/metrics avec le jeton.
Accéder à Grafana
Section intitulée « Accéder à Grafana »Une fois la pile activée, ouvrez https://<votre-domaine>/grafana/ depuis une
adresse autorisée, puis sélectionnez le tableau de bord « Vuisio overview ». Il
se remplit dès que des réunions ont lieu.
Lire le tableau de bord
Section intitulée « Lire le tableau de bord »Le tableau de bord regroupe trois familles d’informations. Chaque panneau porte une icône d’aide : survolez son titre pour afficher un rappel de ce qu’il montre.
Activité en cours
Section intitulée « Activité en cours »- Vue d’ensemble des salles : évolution du nombre de salles, de participants, de caméras, de micros, de personnes qui parlent et de partages d’écran.
- Salles actives et Participants actifs : les valeurs du moment.
- Max salles et Max participants simultanés : les pics atteints sur la période affichée, utiles pour dimensionner le serveur.
- Partages d’écran : nombre de partages en cours.
Santé de la machine
Section intitulée « Santé de la machine »- Charge processeur (CPU) : part de processeur consommée par chaque brique (le serveur Vuisio, Redis, l’interface web, etc.). 100 % correspond à un cœur entier ; le total peut dépasser 100 % puisqu’un serveur a plusieurs cœurs. Les lignes « SFU » détaillent la charge des fils d’exécution internes du serveur.
- Mémoire vive (RAM) : mémoire consommée par chaque brique. Une courbe qui monte sans jamais redescendre signale une fuite de mémoire à surveiller.
- Espace disque libre : stockage restant par disque. Un disque plein bloque le serveur.
- Bande passante réseau : débit entrant (flux reçus des participants qui publient) et sortant (flux redistribués à toute la salle). Le sortant est normalement bien supérieur, puisque chaque flux publié est renvoyé à tout le monde.
Signes d’alerte en temps réel
Section intitulée « Signes d’alerte en temps réel »- Saturation interne du serveur : messages en attente entre les rouages internes. Proche de zéro au repos. S’ils s’accumulent durablement, le serveur n’absorbe plus la charge : c’est le premier signe, avant la latence ressentie par les participants.
- Paquets réseau perdus : morceaux d’audio ou de vidéo qui n’ont pas pu être transmis. Quelques pertes ponctuelles sont normales ; une valeur élevée et durable annonce des coupures de son ou d’image.
- Échecs d’envoi de messages : messages de service (chat, réactions, présence) non délivrés. Doit rester à zéro.
- Trafic réseau temps réel : paquets audio et vidéo reçus, envoyés et perdus par seconde. Le volume suit directement le nombre de caméras et de micros actifs.