Monitoring
Overview
Once you have installed BigBlueButton it is important to setup or integrate BigBlueButton into a monitoring system. A popular monitoring stack nowadays is Prometheus, Grafana and Alertmanager.
-
Prometheus is used to collect metrics. It collects these metrics by visiting a service’s endpoint, which exposes metrics in the Prometheus format. If a service does not natively support Prometheus metrics, you can install exporters which query the service and expose metrics in the appropriate Prometheus format. For a quick and effective introduction into Prometheus go over the getting started documentation.
-
Grafana is used to visualize metrics, logs and other data from different data sources including Prometheus. It is common practice to view Prometheus metrics using Grafana. User’s must write a collection of panels (a panel is a graph, table or any other visual element of a metric) in a dashboard. For common dashboards there are pre-made dashboards that you can download from Grafana’s website.
-
Alertmanager is an extension written by the Prometheus folks. It is used to trigger alerts to Email, Slack, PagerDuty, etc. from predefined suspicious metrics (CPU utilization > 75%, 90% RAM usage, 90% disk storage used, etc.).
Prometheus, Grafana and Alertmanager work together to form a highly flexible, extensible and powerful monitoring solution.
BigBlueButton Metrics
Currently BigBlueButton does not expose and metrics, however there is a community driven project that has implemented a Prometheus exporter which enables you to scrape using Prometheus key BigBlueButton metrics.
BigBlueButton Exporter
BigBlueButton Exporter is a community driven project to expose various metrics that are available via the API that BigBlueButton exposes.
Metrics that are exposed:
- Number of participants by type (listeners, voice, video)
- Number of participants by client (HTML5, dial-in, flash)
- Number of recordings (processing, published, unpublished, deleted, unprocessed)
- Number of participants in rooms by bucket
The Grafana dashboard that is enabled by the project:
The project’s documentation is extensive and guides your through multiple different installation setups. As well as provides Grafana dashboards with different views: all servers aggregated and single specific server.
If you do not wish to install Prometheus and Grafana by yourself, an interesting feature is the All-In-One monitoring stack. The documentation guides you how to setup the entire monitoring stack (Prometheus, Grafana and BigBlueButton exporter) on your BigBlueButton server by using a single docker-compose file. This is useful if you are administering a single BigBlueButton server and have no existing monitoring infrastructure.