Skip to content

symptog/jitsi-colibri-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jitsi Prometheus Exporter

Exporter that grabs various metrics from Jitsi, especially form the video bridges, and publishes them as Prometheus metrics.

There is a documentation of the published statistics by the video bridges.

Jitsi Stats HTTP-API documentation

Jitsi Settings

In /etc/jitsi/videobridge/sip-communicator.properties:

org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri
org.jitsi.videobridge.STATISTICS_INTERVAL=1000

In /etc/jitsi/videobridge/config:

  • Add --apis=rest,xmpp to JVB_OPTS
  • Add --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED to JAVA_SYS_PROPS

Install

go get github.com/symptog/jitsi-colibri-exporter

Run

./jitsi-colibri-exporter -h

Usage of ./jitsi-colibri-exporter:
  -colibri.url string
    	Colibiri URL (default "http://127.0.0.1:8080/colibri/stats")
  -loglevel string
    	Log level (default "info")
  -metrics.addr string
    	Metrics address (default ":9210")
  -metrics.path string
    	Metrics path (default "/metrics")

Result

# HELP jitsi_colibri_audiochannels audiochannels
# TYPE jitsi_colibri_audiochannels gauge
jitsi_colibri_audiochannels 0
# HELP jitsi_colibri_bit_rate_download bit_rate_download
# TYPE jitsi_colibri_bit_rate_download gauge
jitsi_colibri_bit_rate_download 0
# HELP jitsi_colibri_bit_rate_upload bit_rate_upload
# TYPE jitsi_colibri_bit_rate_upload gauge
jitsi_colibri_bit_rate_upload 0
# HELP jitsi_colibri_conference_sizes conference_sizes
# TYPE jitsi_colibri_conference_sizes histogram
jitsi_colibri_conference_sizes_bucket{le="0"} 0
jitsi_colibri_conference_sizes_bucket{le="1"} 0
jitsi_colibri_conference_sizes_bucket{le="2"} 0
jitsi_colibri_conference_sizes_bucket{le="3"} 0
jitsi_colibri_conference_sizes_bucket{le="4"} 0
jitsi_colibri_conference_sizes_bucket{le="5"} 0
jitsi_colibri_conference_sizes_bucket{le="6"} 0
jitsi_colibri_conference_sizes_bucket{le="7"} 0
jitsi_colibri_conference_sizes_bucket{le="8"} 0
jitsi_colibri_conference_sizes_bucket{le="9"} 0
jitsi_colibri_conference_sizes_bucket{le="10"} 0
jitsi_colibri_conference_sizes_bucket{le="11"} 0
jitsi_colibri_conference_sizes_bucket{le="12"} 0
jitsi_colibri_conference_sizes_bucket{le="13"} 0
jitsi_colibri_conference_sizes_bucket{le="14"} 0
jitsi_colibri_conference_sizes_bucket{le="15"} 0
jitsi_colibri_conference_sizes_bucket{le="16"} 0
jitsi_colibri_conference_sizes_bucket{le="17"} 0
jitsi_colibri_conference_sizes_bucket{le="18"} 0
jitsi_colibri_conference_sizes_bucket{le="19"} 0
jitsi_colibri_conference_sizes_bucket{le="20"} 0
jitsi_colibri_conference_sizes_bucket{le="+Inf"} 0
jitsi_colibri_conference_sizes_sum 0
jitsi_colibri_conference_sizes_count 0
# HELP jitsi_colibri_conferences conferences
# TYPE jitsi_colibri_conferences gauge
jitsi_colibri_conferences 0
# HELP jitsi_colibri_cpu_usage cpu_usage
# TYPE jitsi_colibri_cpu_usage gauge
jitsi_colibri_cpu_usage 0
# HELP jitsi_colibri_jitter_aggregate jitter_aggregate
# TYPE jitsi_colibri_jitter_aggregate gauge
jitsi_colibri_jitter_aggregate 0
# HELP jitsi_colibri_largest_conference largest_conference
# TYPE jitsi_colibri_largest_conference gauge
jitsi_colibri_largest_conference 0
# HELP jitsi_colibri_loss_rate_download loss_rate_download
# TYPE jitsi_colibri_loss_rate_download gauge
jitsi_colibri_loss_rate_download 0
# HELP jitsi_colibri_loss_rate_upload loss_rate_upload
# TYPE jitsi_colibri_loss_rate_upload gauge
jitsi_colibri_loss_rate_upload 0
# HELP jitsi_colibri_packet_rate_download packet_rate_download
# TYPE jitsi_colibri_packet_rate_download gauge
jitsi_colibri_packet_rate_download 0
# HELP jitsi_colibri_packet_rate_upload packet_rate_upload
# TYPE jitsi_colibri_packet_rate_upload gauge
jitsi_colibri_packet_rate_upload 0
# HELP jitsi_colibri_participants participants
# TYPE jitsi_colibri_participants gauge
jitsi_colibri_participants 0
# HELP jitsi_colibri_rtp_loss rtp_loss
# TYPE jitsi_colibri_rtp_loss gauge
jitsi_colibri_rtp_loss 0
# HELP jitsi_colibri_rtt_aggregate rtt_aggregate
# TYPE jitsi_colibri_rtt_aggregate gauge
jitsi_colibri_rtt_aggregate 0
# HELP jitsi_colibri_threads threads
# TYPE jitsi_colibri_threads gauge
jitsi_colibri_threads 81
# HELP jitsi_colibri_total_colibri_web_socket_messages_received total_colibri_web_socket_messages_received
# TYPE jitsi_colibri_total_colibri_web_socket_messages_received counter
jitsi_colibri_total_colibri_web_socket_messages_received 0
# HELP jitsi_colibri_total_colibri_web_socket_messages_sent total_colibri_web_socket_messages_sent
# TYPE jitsi_colibri_total_colibri_web_socket_messages_sent counter
jitsi_colibri_total_colibri_web_socket_messages_sent 0
# HELP jitsi_colibri_total_conference_seconds total_conference_seconds
# TYPE jitsi_colibri_total_conference_seconds counter
jitsi_colibri_total_conference_seconds 12718
# HELP jitsi_colibri_total_conferences_created total_conferences_created
# TYPE jitsi_colibri_total_conferences_created counter
jitsi_colibri_total_conferences_created 4
# HELP jitsi_colibri_total_data_channel_messages_received total_data_channel_messages_received
# TYPE jitsi_colibri_total_data_channel_messages_received counter
jitsi_colibri_total_data_channel_messages_received 16617
# HELP jitsi_colibri_total_data_channel_messages_sent total_data_channel_messages_sent
# TYPE jitsi_colibri_total_data_channel_messages_sent counter
jitsi_colibri_total_data_channel_messages_sent 16556
# HELP jitsi_colibri_total_failed_conferences total_failed_conferences
# TYPE jitsi_colibri_total_failed_conferences counter
jitsi_colibri_total_failed_conferences 0
# HELP jitsi_colibri_total_loss_controlled_participant_seconds total_loss_controlled_participant_seconds
# TYPE jitsi_colibri_total_loss_controlled_participant_seconds counter
jitsi_colibri_total_loss_controlled_participant_seconds 10230
# HELP jitsi_colibri_total_loss_degraded_participant_seconds total_loss_degraded_participant_seconds
# TYPE jitsi_colibri_total_loss_degraded_participant_seconds counter
jitsi_colibri_total_loss_degraded_participant_seconds 0
# HELP jitsi_colibri_total_loss_limited_participant_seconds total_loss_limited_participant_seconds
# TYPE jitsi_colibri_total_loss_limited_participant_seconds counter
jitsi_colibri_total_loss_limited_participant_seconds 0
# HELP jitsi_colibri_total_memory total_memory
# TYPE jitsi_colibri_total_memory gauge
jitsi_colibri_total_memory 16820
# HELP jitsi_colibri_total_partially_failed_conferences total_partially_failed_conferences
# TYPE jitsi_colibri_total_partially_failed_conferences counter
jitsi_colibri_total_partially_failed_conferences 0
# HELP jitsi_colibri_up Whether the Azure ServiceBus scrape was successful
# TYPE jitsi_colibri_up gauge
jitsi_colibri_up 1
# HELP jitsi_colibri_used_memory used_memory
# TYPE jitsi_colibri_used_memory gauge
jitsi_colibri_used_memory 1832
# HELP jitsi_colibri_videochannels videochannels
# TYPE jitsi_colibri_videochannels gauge
jitsi_colibri_videochannels 0
# HELP jitsi_colibri_videostreams videostreams
# TYPE jitsi_colibri_videostreams gauge
jitsi_colibri_videostreams 0

Docker container

The Docker container is built via a multi-stage process. The first process builds the binary (in a large container with lots of build dependencies), and then copies the binary to a much smaller container with just the necessary pieces to run.

To build the Docker container, run:

docker build -t jitsi-colibri-exporter -f Dockerfile.multistage .

Releases

No releases published

Packages

No packages published

Languages