BigBlueButton: l’importanza delle statistiche di utilizzo
Una delle prime esigenze che si hanno quando si mette in produzione una piattaforma con BigBlueButton è quella di avere delle statistiche in tempo reale di utilizzo della piattaforma.
Questo è utile non solo dal punto di vista statistico, ma anche dal punto di vista dell’amministrazione e del controllo delle risorse del sistema. Come noto un po’ tutti i servizi di web conferencing richiedono per funzionare al meglio risorse hardware adeguate. Avere sotto controllo il consumo della banda e delle risorse hardware come CPU e memoria aiutano il gestore della piattaforma ad identificare problemi ed eventuali colli di bottiglia.
BigBlueButton offre alcuni strumenti per analizzare il traffico sul sistema, ma il progetto migliore e che offre un immediato report grafico dell’utilizzo della piattaforma è BigBlueButton Exporter integrato in-quello che viene definito All-In-One Monitoring Stack:
- BigBlueButton Exporter
- Prometeeus (incl. Node_exporter)
- Grafana
BigBlueButton Exporter è un exporter di Prometheus creato apposta per BigBlueButton. In pratica attraverso una richiesta HTTP, l’exporter interroga le API di BigBlueButton per i dati che poi aggrega ed espone in formato grafico.
Prerequisiti
- E’ necessario avere Docker installato (sul server BigBlueButton è già presente)
- docker-compose (versione recente che supporti il file format versione 3.2)
- Nginx (con TLS configurato)
Installazione
# mkdir ~/bbb-monitoring
# cd ~/bbb-monitoring
# wget https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/bbb_exporter_secrets.env
# wget https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/docker-compose.yaml
# wget https://raw.githubusercontent.com/greenstatic/bigbluebutton-exporter/master/extras/all_in_one_monitoring/prometheus.yaml
Configurazione del servizio
# bbb-conf --secret
URL: https://bbb.dominio.com/bigbluebutton/
Secret: KMLTQJIahjeALTqqoO0R1XEAAEUzXRTre6Fw4OwY9L
# pico bbb_exporter_secrets.env
API_BASE_URL=https://bbb.dominio.com/bigbluebutton/
API_SECRET=KMLTQJIahjeALTqqoO0R1XEAAEUzXRTre6Fw4OwY9L
# cd ~/bbb-monitoring
# docker-compose up -d
E successivamente configurare nginx:
# pico /etc/bigbluebutton/nginx/monitoring.nginx
# BigBlueButton monitoring
location /monitoring/ {
proxy_pass http://127.0.0.1:3001/;
include proxy_params;
}
# nginx -t
# systemctl reload nginx
A questo punto possiamo acceder al servizio via web sulla nostra piattaforma
Accesso via web a Grafana
Aggiungere Prometheus come data source (Add data source -> Prometheus) e inserire la seguente configurazione:
URL: http://localhost:9090
Ora è il momento di importare le nostre dashboard . Nel menu a sinistra fare clic su + icona -> importa
Nel campo JSON copia/incolla il contenuto extra/dashboard/server_instance_node_exporter.json della dashboard di Grafana.
A questo punto la nostra dashboard è stata creata e gradualmente comincerà a registrare dati e e produrre statistiche:
L’interfaccia è immediata, anche se conoscendo il funzionamento di Grafana ed avendo buone basi sistemistiche è possibile modificare profondamente l’interfaccia ed ottenere ulteriori elaborazioni.
Le statistiche che ci mostra sono raccolte in un’unica dashboard, e sono tutte molto utili ed interessanti, vediamole nel dettaglio:
- Numero di partecipanti online
- Utilizzo della CPU in relazione al numero di partecipanti
- Utilizzo della banda in relazione al numero di partecipanti
- Origine della connessione degli utenti
- Numero di stanze
- Utenti in voce
- Utenti in video
- Statistiche delle registrazioni (in elaborazione, non elaborate, pubblicate, non pubblicate, eliminate)
- Statistiche dello storage
- Numero di partecipanti per tipo di client (HTML5, dial-in, flash)
- Heatmap degli utenti (connessi, voce, video e in ascolto)
Vediamone un esempio con i dati relativamente alle statistiche utenti nel dettaglio e a quelle (molto utili ) dello storage.
E questo è un esempio delle Heatmap, che sono sostanzialmente delle “mappe di calore”, una sorta di rappresentazione visiva del comportamento degli utenti all’interno della piattaforma BigBlueButton. Si tratta, nello specifico, di grafici in cui i valori sono rappresentati da colori e che servono a individuare quali sono gli strumenti maggiormente “stimolati” e quindi utilizzati dagli utenti. Nello specifico di una video conferenza, saranno l’accesso alle stanze, l’uso della voce e del video.
Questo strumento è davvero potente ed è irrinunciabile per chi utilizza un server BigBlueButton, perchè non solo offre statistiche da presentare ai clienti per testimoniare l’utilizzo effettivo della piattaforma, ma è anche molto utile per valutare il carico del sistema ed avere statistiche sul consumo delle risorse hardware in tempo praticamente reale.