BigBlueButton monitoring script
Go to file
2022-11-20 14:19:56 +01:00
.idea override logging interval with secret/minutes.txt 2022-05-31 14:59:18 +02:00
data init 2020-11-25 19:35:39 +01:00
plot plot data 2020-11-28 21:11:21 +01:00
secret init 2020-11-25 19:35:39 +01:00
src/langfingaz override logging interval with secret/minutes.txt 2022-05-31 14:59:18 +02:00
.gitignore build using requirements.txt; improve README; fix: exclude pycache; 2020-12-03 16:30:29 +01:00
docker-compose.yml restart unless stopped 2020-12-05 14:02:59 +01:00
Dockerfile simplify Dockerfile 2022-11-20 14:19:56 +01:00
LICENSE Update 'LICENSE' 2021-04-20 10:10:38 +02:00
plot-last-month.png python-2.9; plot only last month; label at every second day 2021-02-17 16:59:17 +01:00
README.md override logging interval with secret/minutes.txt 2022-05-31 14:59:18 +02:00
requirements.txt add main.py; Dockerfile: build dependencies; TZ 2020-11-29 15:39:11 +01:00

bbb-status

Python3 script to log and plot BigBlueButton usage statistics.

Thanks to Bernd Wurst who inspired this project with his gist on github:

Setup

Execute bbb-conf --secret on your server.

This gives you your API-secret and the URL at which BigBlueButton is running at.

Save these two values in the first line of the following files:

  • URL inside secret/url.txt
  • API-secret inside secret/secret.txt

Note: You may chmod 600 on the two above files.

Optionally: Set the log interval to something different from 5 minutes by creating secret/minutes.txt with an integer in the first line.

Run

Start logging in the background:

docker-compose up -d

Generate a new plot based on saved meeting data:

sudo docker-compose run bbb-status plot

Example - log meeting statistics

sudo docker-compose up -d  # start logging in the background
sudo docker-compose logs  # inspect container output
Attaching to bbb-status_bbb-status_1
bbb-status_1  | === bbb-status ===
bbb-status_1  | 
bbb-status_1  | BBB meetingData logger started!
bbb-status_1  | Saved meetings at /usr/data/20210217_173525_meetings.xml
bbb-status_1  | 	meetings: [<langfingaz.parseMeetings.Meeting object at 0x7f8382471280>]
bbb-status_1  | 	pointOfTime: None
bbb-status_1  | 	recordingCount: 1
bbb-status_1  | 	participantCount: 4
bbb-status_1  | 	listenerCount: 0
bbb-status_1  | 	voiceParticipantCount: 4
bbb-status_1  | 	videoCount: 4
bbb-status_1  | 	moderatorCount: 1
bbb-status_1  | >> Sleeping for five minutes <<

Example - create a plot from saved statistics

plot of one month BBB usage