Enabling statistics for Video bridge

Dear all,
I just built myself the jicofo and videobridge jar files. Everything seems to work well. But I cannot enable the statistic. I already set the followings:
-In the config file of the videobridge:
JVB_OPTS="–apis=rest"
-In the sip-communicator.properties file:
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_INTERVAL=1000
org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub,colibri
org.jitsi.videobridge.PUBSUB_SERVICE=aaa.bb.cc #My domain name goes here
org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode

Then from the local browser I can see the output of /about/version as the following


I cannot see anything with 127.0.0.1:8080/about/health
neither for 127.0.0.1:8080/colibri/stats
For the last URL, I got the following output:

What are the setting that I probably miss ?

Many thanks

You have a typo in the URL, “colibri” instead of “colibir”

Hi @Boris_Grozev according to the doc https://github.com/jitsi/jitsi-videobridge/blob/master/doc/statistics.md, that I cite here:
org.jitsi.videobridge.STATISTICS_TRANSPORT - string property. A comma-separated list of transports. The supported transports are “muc”, “pubsub”, “callstats.io”, and “colibri”.
the term to set is “colibri” not “colibir”
Anyway I try with your hint, in the sip-communicator.properties as the following:
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_INTERVAL=1000
org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub,colibir
org.jitsi.videobridge.PUBSUB_SERVICE=jaime.kidtopi.com
org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode
But neither 127.0.0.1/colibir/stats nor 127.0.0.1/colibri/stats works for me.
Please help

Stats are not running on port 80, by default they are on 8080, check the doc for more details on the default port.

Dear @damencho sorry for my negligence. Indeed I checked the 127.0.0.1:8080/colibir/stats and127.0.0.1:8080/colibri/stats (I just forgot putting the port’s value in my previous post). Neither URL works for me. But the latter should be the good one, shoudln’t it?
Please help me to see the stat
Many thanks

I just tried it here:

$ curl -v http://127.0.0.1:8080/colibri/stats
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET /colibri/stats HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 04 Oct 2019 09:17:03 GMT
< Content-Type: application/json
< Content-Length: 1406
< Server: Jetty(9.4.15.v20190215)
<
* Connection #0 to host 127.0.0.1 left intact
[{"total_loss_degraded_participant_seconds":0,"bit_rate_download":0,"total_

When running the bridge do you see logs like this:

2019-10-04 10:16:19.088 INFO: [13] ConfigurationServiceImpl.debugPrintSystemProperties#1417: org.jitsi.videobridge.rest=true
2019-10-04 10:16:19.948 INFO: [13] org.eclipse.jetty.server.AbstractConnector.doStart: Started MuxServerConnector@462c067b{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2019-10-04 10:16:20.159 INFO: [1] ConfigurationServiceImpl.logConfigurationProperties#1455: org.jitsi.videobridge.ENABLE_STATISTICS=true

Dear @damencho,
Following your help, I try to search some patterns. I did get the message “org.jitsi.videobridge.ENABLE_STATISTICS=true”. But I found the following error message:
….
Registered the LibJitsi ConfigurationService in OSGi.
JVB 2019-09-30 07:56:33.259 INFO: [13] org.jitsi.version.AbstractVersionActivator.log() VersionService registered: JVB 0.1.build.SVN
JVB 2019-09-30 07:56:33.267 INFO: [13] org.jitsi.rest.AbstractJettyBundleActivator.log() Not starting the Jetty service for org.jitsi.videobridge.rest.RESTBundleActivator(port=8080)
JVB 2019-09-30 07:56:33.403 INFO: [13] org.jitsi.rest.AbstractJettyBundleActivator.log() Not starting the Jetty service for org.jitsi.videobridge.rest.PublicRESTBundleActivator(port=-1)
JVB 2019-09-30 07:56:33.404 INFO: [13] org.jitsi.rest.AbstractJettyBundleActivator.log() Not starting the Jetty service for org.jitsi.videobridge.rest.PublicClearPortRedirectBundleActivator(port=8080)
JVB 2019-09-30 07:56:33.463 INFO: [13] null.log() Running with open files limit 65000 (hard 65000), thread limit 65000 (hard 65000).
JVB 2019-09-30 07:56:33.464 INFO: [13] org.jitsi.videobridge.VideobridgeExpireThread.log() Starting with 60 second interval.
JVB 2019-09-30 07:56:33.467 INFO: [13] null.log() Authorized source regexp: focus@auth.jaime.kidtopi.com/.*
JVB 2019-09-30 07:56:33.468 SEVERE: [17] null.log() Health check failed in 2ms:
java.lang.Exception: No XMPP components
at org.jitsi.videobridge.health.Health.checkXmppConnection(Health.java:229)
at org.jitsi.videobridge.health.Health.doCheck(Health.java:189)
at org.jitsi.videobridge.health.Health.doRun(Health.java:341)
at org.jitsi.utils.concurrent.PeriodicRunnableWithObject.run(PeriodicRunnableWithObject.java:87)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.access$000(RecurringRunnableExecutor.java:36)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)
……
No log for the reason that the Jetty service can not be run. Can you help me with this message please ?
Many thanks

Which bridge new or old do you use?

Seems to me we had never ran bridge without component connection as I see the health is checking that … @Boris_Grozev @bbaldino?

@S_n_Tr_n_Minh how are you running the bridge? I.e. what command line args are you passing? It looks like you’re either not passing any --apis=XXX, or you’re including xmpp as an api but not configuring any component for the bridge (that’s what causes that health check issue)

Thank you @bbaldino for your response. What do you mean by “not configuring any component for the bridge” ?
In fact I install the executable jicofo and videobridge, then I combine them by myself and replace the binaries properly. In the running script provided by jitsi, I can see that it takes the variable JVB_OPTS while running the bridge service. So for sure it takes --apis=rest. I also modified the sip-communicator.properties as shown previously And the conference works well, I can join the conference…
What other configuration should I do ?
Please guide me.
Best wishes

When the XMPP API is configured, the bridge expects some additional configuration which defines some XMPP servers it should connect to as a component, so if XMPP is enabled but that config isn’t there, it complains. If you’re only passing REST, then something is up…it could be that the bridge is starting up without being passed any arguments (some script starting it by default, maybe?). If no API args are passed, the bridge assumes XMPP by default.