{"id":23151617,"url":"https://github.com/nbuchwitz/check_jitsi","last_synced_at":"2025-08-17T20:32:01.524Z","repository":{"id":54546073,"uuid":"249037995","full_name":"nbuchwitz/check_jitsi","owner":"nbuchwitz","description":"Check plugin for jitsi videobridge","archived":false,"fork":false,"pushed_at":"2021-02-11T13:57:23.000Z","size":50,"stargazers_count":19,"open_issues_count":5,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T12:33:06.595Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/nbuchwitz.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}},"created_at":"2020-03-21T18:36:16.000Z","updated_at":"2025-03-25T06:04:55.000Z","dependencies_parsed_at":"2022-08-13T19:20:14.830Z","dependency_job_id":null,"html_url":"https://github.com/nbuchwitz/check_jitsi","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/nbuchwitz/check_jitsi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbuchwitz%2Fcheck_jitsi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbuchwitz%2Fcheck_jitsi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbuchwitz%2Fcheck_jitsi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbuchwitz%2Fcheck_jitsi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nbuchwitz","download_url":"https://codeload.github.com/nbuchwitz/check_jitsi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbuchwitz%2Fcheck_jitsi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270902207,"owners_count":24665223,"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-17T02:00:09.016Z","response_time":129,"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":[],"created_at":"2024-12-17T18:35:04.477Z","updated_at":"2025-08-17T20:32:01.214Z","avatar_url":"https://github.com/nbuchwitz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# check_jitsi\nIcinga check command for jitsi video conference server\n\n## Setup\n\n### Requirements\n\nThis check command depends on **Python 3** and the following modules:\n * enum\n * requests\n * argparse\n\n**Installation on Debian / Ubuntu**\n```\napt install python3 python3-requests\n```\n\n**Installation on Redhat 7 / CentOS 7**\n```\nyum install python36 python36-requests\n```\n\n**Installation on FreeBSD**\n```\npkg install python3 py37-requests\n```\n\n\n### Activate private rest API on jitsi videobridge\n\nEnable rest api in jitsi videobridge by appending `--apis=rest` to the `JVB_OPTS` in `/etc/jitsi/videobridge/config`:\n\n```\n[...]\nJVB_OPTS=\"--apis=rest,xmpp\"\n[...]\n```\n\nEdit `/etc/jitsi/videobridge/sip-communicator.properties` and enable statistics:\n\n```\n[...]\norg.jitsi.videobridge.ENABLE_STATISTICS=true\n[...]\n```\n\nRestart the `jvb` and `jicofo` service\n\n#### Troubleshooting\n\nIf using openjdk and you see lots of errors in your videobridge logs, try to enable `jdk.management/com.sun.management`, by editing `/etc/jitsi/videobridge/config`:\n\nbefore:\n```\nJAVA_SYS_PROPS=\"-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties\"\n```\n\nafter:\n```\nJAVA_SYS_PROPS=\"-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED\"\n```\n\nMore more details see here https://github.com/jitsi/jitsi-videobridge/issues/1127#issuecomment-601539870.\n\n## Usage\n\n```\nusage: check_jitsi.py [-h] [-H HOSTNAME] [-p PORT] -m\n                      {health,participants,conferences,audiochannels,videochannels,videostreams,total_conferences_completed,total_conferences_created,total_conferences_failed,total_partially_failed_conferences,jitter_aggregate,total_no_payload_channels,total_no_transport_channels}\n                      [-w THRESHOLD] [-c THRESHOLD] [--user USER]\n                      [--password PASSWORD] [--ignore-metric METRIC]\n                      [--append-metric METRIC]\n                      \nCheck command for JVB via API\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -H HOSTNAME, --hostname HOSTNAME\n                        JVB private api hostname\n  -p PORT, --port PORT  JVB private api port\n  -m {health,participants,conferences,audiochannels,videochannels,videostreams,total_conferences_completed,total_conferences_created,total_conferences_failed,total_partially_failed_conferences,jitter_aggregate,total_no_payload_channels,total_no_transport_channels}, --mode {health,participants,conferences,audiochannels,videochannels,videostreams,total_conferences_completed,total_conferences_created,total_conferences_failed,total_partially_failed_conferences,jitter_aggregate,total_no_payload_channels,total_no_transport_channels}\n                        Check mode\n  -w THRESHOLD, --warning THRESHOLD\n                        Warning threshold for check value\n  -c THRESHOLD, --critical THRESHOLD\n                        Critical threshold for check value\n  --user USER           HTTP Basic Auth User\n  --password PASSWORD   HTTP Basic Auth Password\n  --all-metrics\n  --ignore-metric METRIC\n                        Ignore this metric in the performance data\n  --append-metric METRIC\n                        Append this metric in the performance data\n```\n\n## Examples\n\n**Check jitsi health**\n```\n./check_jitsi.py -m health\nOK - Jitsi videobridge is healthy \n```\n\nwith all metrics:\n\n```\n./check_jitsi.py -m health --all-metrics \nOK - Jitsi videobridge is healthy |packet_rate_download=0 total_tcp_connections=0 total_packets_sent_octo=0 total_loss_degraded_participant_seconds=0 bit_rate_download=0 videostreams=0 jitter_aggregate=0.0 total_channels=8 total_memory=16821 total_packets_received=13694 rtt_aggregate=0.0 packet_rate_upload=0 conferences=0 participants=0 total_loss_limited_participant_seconds=0 largest_conference=0 total_packets_sent=3030 total_data_channel_messages_sent=609 total_bytes_received_octo=0 total_no_transport_channels=0 total_no_payload_channels=4 used_memory=1518 total_conferences_created=2 threads=82 total_colibri_web_socket_messages_received=0 videochannels=0 total_udp_connections=4 loss_rate_upload=0.0 total_packets_received_octo=0 graceful_shutdown=0 total_colibri_web_socket_messages_sent=0 total_bytes_sent_octo=0 total_data_channel_messages_received=633 loss_rate_download=0.0 total_conference_seconds=802 total_bytes_received=9662349 rtp_loss=0.0 total_loss_controlled_participant_seconds=0 total_partially_failed_conferences=2 bit_rate_upload=0 total_conferences_completed=2 total_bytes_sent=99326 total_failed_conferences=0 cpu_usage=0.005 audiochannels=0\n```\n\n**Check specific metric**\n\nIt's possible to check if a certain metric is within the specified thresholds for warning and critical (full syntax supported):\n```\n./check_jitsi.py -m total_conferences_failed -w 5 -c 10\nOK - 0 total_conferences_failed |total_conferences_failed=0;;5;10\n```\n\nOther metrics could also be exported within the performance data:\n\n```\n./check_jitsi.py -m total_conferences_failed -w 5 -c 10 --append-metrics conferences\nOK - 0 total_conferences_failed |total_conferences_failed=0;;5;10 conferences=2\n```\n\n## Integration in Icinga2\n\nExample configuration files for Icinga2 are in the folder `icinga/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbuchwitz%2Fcheck_jitsi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnbuchwitz%2Fcheck_jitsi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbuchwitz%2Fcheck_jitsi/lists"}