项目作者: elan-ev

项目描述 :
Selenium-based BigBlueButton monitoring for Prometheus
高级语言: Python
项目地址: git://github.com/elan-ev/bbb-selenium-exporter.git
创建时间: 2021-01-10T21:26:52Z
项目社区:https://github.com/elan-ev/bbb-selenium-exporter

开源协议:GNU General Public License v3.0

下载


bbb-selenium-exporter

A Selenium-based BigBlueButton monitoring for Prometheus.

The bbb-selenium-exporter runs a set of Selenium tests against BigBlueButton in a configurable interval and provides the results as OpenMetrics endpoint consumable by Prometheus.
This allows for a continuous monitoring of BigBlueButton based on the good working order of the user interface.

Installation

To run the exporter, you need:

Use the setup.py to build and install the bbb-selenium-exporter:

  1. % python setup.py install

Command Line

You can use the --help flag to get all command line options of the exporter:

  1. % bbb-selenium-exporter --help
  2. usage: bbb-selenium-exporter [-h] [--bind BIND] [--config CONFIG] [--interval INTERVAL] [--jobs JOBS] [--gui]
  3. optional arguments:
  4. -h, --help show this help message and exit
  5. --bind BIND, -b BIND bind to address:port
  6. --config CONFIG, -c CONFIG
  7. config file with BBB instances to scrape
  8. --interval INTERVAL, -i INTERVAL
  9. interval between scrapes of the same host in seconds
  10. --jobs JOBS, -j JOBS number of parallel webdriver instances
  11. --gui disable headless mode for webdriver

Configuration

To allow access to BigBlueButton, the exporter needs to know the API secret for every server to monitor.
For this, create a configuration file in /etc/bbb-selenium-exporter/targets or provide the location using the -c option.
The configuration file contains domain names and secrets separated by a space character like this:

  1. bbb.example.com BBB-API-SECRET

Metrics

  1. # HELP connect_server_success Success of connecting to BBB server
  2. # TYPE connect_server_success gauge
  3. connect_server_success{backend="bbb.example.com"} 1.0
  4. # HELP connect_server_duration_seconds Duration of connecting to BBB server
  5. # TYPE connect_server_duration_seconds gauge
  6. connect_server_duration_seconds{backend="bbb.example.com"} 1.4048139119986445
  7. # HELP echo_test_success Success of waiting for echo test
  8. # TYPE echo_test_success gauge
  9. echo_test_success{backend="bbb.example.com"} 1.0
  10. # HELP echo_test_duration_seconds Duration of waiting for echo test
  11. # TYPE echo_test_duration_seconds gauge
  12. echo_test_duration_seconds{backend="bbb.example.com"} 3.0636934980029764
  13. # HELP join_headphone_success Success of joining room with headphones
  14. # TYPE join_headphone_success gauge
  15. join_headphone_success{backend="bbb.example.com"} 1.0
  16. # HELP join_headphone_duration_seconds Duration of joining room with headphones
  17. # TYPE join_headphone_duration_seconds gauge
  18. join_headphone_duration_seconds{backend="bbb.example.com"} 0.17476947300019674
  19. # HELP start_cam_success Success of starting camera
  20. # TYPE start_cam_success gauge
  21. start_cam_success{backend="bbb.example.com"} 1.0
  22. # HELP start_cam_duration_seconds Duration of starting camera
  23. # TYPE start_cam_duration_seconds gauge
  24. start_cam_duration_seconds{backend="bbb.example.com"} 14.53077382000265
  25. # HELP upload_pres_success Success of uploading presentation
  26. # TYPE upload_pres_success gauge
  27. upload_pres_success{backend="bbb.example.com"} 1.0
  28. # HELP upload_pres_duration_seconds Duration of uploading presentation
  29. # TYPE upload_pres_duration_seconds gauge
  30. upload_pres_duration_seconds{backend="bbb.example.com"} 6.875032278003346
  31. # HELP chat_test_success Success of testing chat
  32. # TYPE chat_test_success gauge
  33. chat_test_success{backend="bbb.example.com"} 1.0
  34. # HELP chat_test_duration_seconds Duration of testing chat
  35. # TYPE chat_test_duration_seconds gauge
  36. chat_test_duration_seconds{backend="bbb.example.com"} 0.8765619519981556
  37. # HELP poll_test_success Success of testing poll
  38. # TYPE poll_test_success gauge
  39. poll_test_success{backend="bbb.example.com"} 1.0
  40. # HELP poll_test_duration_seconds Duration of testing poll
  41. # TYPE poll_test_duration_seconds gauge
  42. poll_test_duration_seconds{backend="bbb.example.com"} 0.8743671500014898
  43. # HELP etherpad_test_success Success of testing etherpad
  44. # TYPE etherpad_test_success gauge
  45. etherpad_test_success{backend="bbb.example.com"} 1.0
  46. # HELP etherpad_test_duration_seconds Duration of testing etherpad
  47. # TYPE etherpad_test_duration_seconds gauge
  48. etherpad_test_duration_seconds{backend="bbb.example.com"} 2.3751644189978833