{"id":23708525,"url":"https://github.com/bigblueswarm/bigbluebutton-telegraf-plugin","last_synced_at":"2025-08-04T12:37:38.844Z","repository":{"id":43272158,"uuid":"347624129","full_name":"bigblueswarm/bigbluebutton-telegraf-plugin","owner":"bigblueswarm","description":"BigBlueButton telegraf external plugin. Gather meetings and recordings metrics about your BigBlueButton server","archived":false,"fork":false,"pushed_at":"2023-10-22T15:29:51.000Z","size":96,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T17:16:49.925Z","etag":null,"topics":["bigbluebutton","hacktoberfest","metrics","monitoring","telegraf"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bigblueswarm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-14T11:58:21.000Z","updated_at":"2024-04-08T23:09:52.000Z","dependencies_parsed_at":"2023-02-10T12:15:46.609Z","dependency_job_id":"cfaab399-65e5-4256-bd6c-59c9166b82d7","html_url":"https://github.com/bigblueswarm/bigbluebutton-telegraf-plugin","commit_stats":null,"previous_names":["sledunois/bigbluebutton-telegraf-plugin"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/bigblueswarm/bigbluebutton-telegraf-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigblueswarm%2Fbigbluebutton-telegraf-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigblueswarm%2Fbigbluebutton-telegraf-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigblueswarm%2Fbigbluebutton-telegraf-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigblueswarm%2Fbigbluebutton-telegraf-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigblueswarm","download_url":"https://codeload.github.com/bigblueswarm/bigbluebutton-telegraf-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigblueswarm%2Fbigbluebutton-telegraf-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268696941,"owners_count":24292386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigbluebutton","hacktoberfest","metrics","monitoring","telegraf"],"created_at":"2024-12-30T17:57:29.589Z","updated_at":"2025-08-04T12:37:38.781Z","avatar_url":"https://github.com/bigblueswarm.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BigBlueButton Input Plugin\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/0ffb957fe6074e93b06b6b52106a4659)](https://www.codacy.com/gh/bigblueswarm/bigbluebutton-telegraf-plugin/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=bigblueswarm/bigbluebutton-telegraf-plugin\u0026amp;utm_campaign=Badge_Grade)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/0ffb957fe6074e93b06b6b52106a4659)](https://www.codacy.com/gh/bigblueswarm/bigbluebutton-telegraf-plugin/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=bigblueswarm/bigbluebutton-telegraf-plugin\u0026utm_campaign=Badge_Coverage)\n[![Code linting](https://github.com/bigblueswarm/bbsctl/actions/workflows/lint.yml/badge.svg)](https://github.com/bigblueswarm/bigbluebutton-telegraf-plugin/actions/workflows/lint.yml)\n[![Unit tests](https://github.com/bigblueswarm/bbsctl/actions/workflows/unit_test.yml/badge.svg)](https://github.com/bigblueswarm/bigbluebutton-telegraf-plugin/actions/workflows/unit_test.yml)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/bigblueswarm/bigbluebutton-telegraf-plugin)\n![GitHub](https://img.shields.io/github/license/bigblueswarm/bigbluebutton-telegraf-plugin)\n\nThe BigBlueButton Input Plugin gathers metrics from [BigBlueButton](https://bigbluebutton.org/) server. It uses [BigBlueButton API](https://docs.bigbluebutton.org/dev/api.html) `getMeetings` and `getRecordings` endpoints to query the data.\n\n## Configuration\n\n```toml\n[[inputs.bigbluebutton]]\n\t## Required BigBlueButton server url\n\turl = \"http://localhost:8090\"\n\n\t## BigBlueButton path prefix. Default is \"/bigbluebutton\"\n\t# path_prefix = \"/bigbluebutton\"\n\n\t## Required BigBlueButton secret key\n\tsecret_key = \"\"\n\n\t## Gather metrics by metadata\n\t# Using this option, gathering data will also insert metrics grouped by metadata configuration\n\t# gather_by_metadata = []\n\n\t## Optional HTTP Basic Auth Credentials\n\t# username = \"username\"\n\t# password = \"pa$$word\n\n\t## Optional HTTP Proxy support\n\t# http_proxy_url = \"\"\n\n\t## Optional TLS Config\n\t# tls_ca = \"/etc/telegraf/ca.pem\"\n\t# tls_cert = \"/etc/telegraf/cert.pem\"\n\t# tls_key = \"/etc/telegraf/key.pem\"\n\n\t## Use TLS but skip chain \u0026 host verification\n\t# insecure_skip_verify = false\n```\n\n## Metrics\n\n- bigbluebutton:\n  - fields:\n    - meetings\n    - participants\n    - listener_participants\n    - voice_participants\n    - video_participants\n    - active_recordings\n    - recordings\n    - published_recordings\n  \t- online\n\nUsing the `gather_by_metadata`, plugin will add meetings and recordings metrics grouped by meetings provided metadata like the following:\n```\ntenant active_recordings=0i,listener_participants=0i,participants=0i,video_participants=0i,voice_participants=0i,meetings=1i 0\n```\n\nFor example, using the following configuration:\n```toml\n## Gather metrics by metadata\n# Using this option, gathering data will also insert metrics grouped by metadata configuration\ngather_by_metadata = [\"tenant\"]\n```\nWith a meeting:\n```xml\n\u003cmeeting\u003e\n\t\u003cmeetingName\u003eMeeting 2\u003c/meetingName\u003e\n\t\u003cmeetingID\u003eb0a78452-2266-4a0a-abae-8a016db8fccd\u003c/meetingID\u003e\n\t\u003cinternalMeetingID\u003e6e2f5787a62c9c3e13ee557c847decded4a53d59-1613138647914\u003c/internalMeetingID\u003e\n\t\u003ccreateTime\u003e1613138647914\u003c/createTime\u003e\n\t\u003ccreateDate\u003eFri Feb 12 15:04:07 CET 2021\u003c/createDate\u003e\n\t\u003cvoiceBridge\u003e75042\u003c/voiceBridge\u003e\n\t\u003cdialNumber\u003e613-555-1234\u003c/dialNumber\u003e\n\t\u003cattendeePW\u003ee313fc20-2247-48dd-884a-b1cb48c7919c\u003c/attendeePW\u003e\n\t\u003cmoderatorPW\u003ebe89c431-00d9-4e38-a2f9-c9a54c9873a3\u003c/moderatorPW\u003e\n\t\u003crunning\u003etrue\u003c/running\u003e\n\t\u003cduration\u003e0\u003c/duration\u003e\n\t\u003chasUserJoined\u003etrue\u003c/hasUserJoined\u003e\n\t\u003crecording\u003efalse\u003c/recording\u003e\n\t\u003chasBeenForciblyEnded\u003efalse\u003c/hasBeenForciblyEnded\u003e\n\t\u003cstartTime\u003e1613138647937\u003c/startTime\u003e\n\t\u003cendTime\u003e0\u003c/endTime\u003e\n\t\u003cparticipantCount\u003e5\u003c/participantCount\u003e\n\t\u003clistenerCount\u003e3\u003c/listenerCount\u003e\n\t\u003cvoiceParticipantCount\u003e3\u003c/voiceParticipantCount\u003e\n\t\u003cvideoCount\u003e1\u003c/videoCount\u003e\n\t\u003cmaxUsers\u003e0\u003c/maxUsers\u003e\n\t\u003cmoderatorCount\u003e1\u003c/moderatorCount\u003e\n\t\u003cattendees\u003e\n\t\u003c/attendees\u003e\n\t\u003cmetadata\u003e\n\t\t\u003ctenant\u003elocalhost\u003c/tenant\u003e\n\t\u003c/metadata\u003e\n\t\u003cisBreakout\u003efalse\u003c/isBreakout\u003e\n\u003c/meeting\u003e\n```\nwill generate the following metric:\n```\ntenant active_recordings=0i,listener_participants=3i,participants=5i,video_participants=1i,voice_participants=3i,meetings=1i,tenant=localhost 1617611008787972024\n```\n\n## Example output\n```sh\nbigbluebutton meetings=0i,voice_participants=0i,recordings=0i,active_recordings=0i,participants=0i,listener_participants=0i,published_recordings=0i,online=1i,video_participants=0i 1673991941312623800\ntenant voice_participants=0i,video_participants=0i,online=1i,meetings=1i,participants=0i,active_recordings=0i,listener_participants=0i,published_recordings=0i,recordings=0i,tenant=locahost 1673992041293464800\n```\n\n## Installation\n- Download the latest release from [release page](https://github.com/SLedunois/bigbluebutton-telegraf-plugin/releases)\n- Configure telegraf to call it using execd\n ```toml\n[[inputs.execd]]\n  command = [\"/path/to/bbb-telegraf\", \"-config\", \"/path/to/bbb-telegraf/config\", \"-poll_interval\", \"10s\"]\n  signal = \"none\"\n ```\n\nAlternatively, you can build your own binary using:\n```bash\ngit clone git@github.com:SLedunois/bigbluebutton-telegraf-plugin.git\ngo build -o bbb-telegraf cmd/main.go\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigblueswarm%2Fbigbluebutton-telegraf-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigblueswarm%2Fbigbluebutton-telegraf-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigblueswarm%2Fbigbluebutton-telegraf-plugin/lists"}