从命令行检查 Big Blue Button 中的活动会议数

Check number of active meetings in Big Blue Button from command line

我想通过命令行查看 BBB 服务器上任一时刻有多少活动会议。我试过了

$ bbb-conf --network

但一事无成。我还检查了端口 80 和 443 的活动连接数

$ netstat -anp | grep :443 | grep ESTABLISHED | wc -l

但我不确定我是否可以相信这个数字。

我知道我可以使用来自 API 的 isMeetingRunning 调用,但我只是在寻找命令行。

如有任何想法,我们将不胜感激

以下 bash 脚本,可以在与 BigBlueButton 服务器相同的机器上从命令行 运行 处理对 BBB 的响应 API getMeetings 打电话。

#!/bin/bash

APICallName="getMeetings"
APIQueryString=""

X=$( bbb-conf --secret | fgrep URL: )
APIEndPoint=${X##* }
Y=$( bbb-conf --secret | fgrep Secret: )
Secret=${Y##* }
S=$APICallName$APIQueryString$Secret
Checksum=$( echo -n $S | sha1sum | cut -f 1 -d ' ' )
if [[ "$APIQueryString" == "" ]]
then
        URL="${APIEndPoint}api/$APICallName?checksum=$Checksum"
else
        URL="${APIEndPoint}api/$APICallName?$APIQueryString&checksum=$Checksum"
fi
wget -q -O - "$URL" | grep -o '<meetingID>' | wc -w

在实时 BBB 机器上测试。

注:

  • 可以修改 APICallNameAPIQueryString 以提供对其他 BBB API 调用的接口。参见 https://docs.bigbluebutton.org/dev/api.html

  • 命令行 sha1sum 如果将换行符附加到其输入,将输出不同的结果。这就是使用 echo -n 而不是 echo 的原因。

  • 在最后一行,脚本以一种非常幼稚的方式处理 API 调用的 XML 输出,简单地计算 [=17] 的出现次数=] 标签。更精细的处理可能需要解析 XML.