> 400 Teilnehmer auf dem BBB-Hetznerbörse-Moped, Absturz

Hallo Andreas,

ob es Fehler 1004 oder 1020 gab weiß ich nicht. Außer, dass 30 min nach starten der Konferenz und 15 min nach offiziellen Beginn der Veranstaltung bei 100 Teilnehmern „nichts mehr ging“, hat sich die SL bislang nicht weiter geäußert.
Ich weiß auch nicht, ob ich da mehr qualifizierte Hinweise bekommen kann/werde.

Als Turn-Server habe ich den von linuxmuster.net eingetragen.

Viele Grüße
Steffen

Hallo Steffen,
denke mal die Fehlersuche ist „gelutscht“, im Nachhinein irgend welche techn. Infos von „DAU’s“ zu erhalten, ist gering.

Was mir dazu noch einfällt, wären die Firewall-Einstellungen bzw. die geöffneten Ports:
80/tcp
443/tcp/udp
3478/tcp/udp
32768-65535/udp
https://ask.linuxmuster.net/t/probleme-mit-turn-server-installation-fuer-bigbluebutton/6985/16

VG Andreas

1 „Gefällt mir“

Hallo,

nun … ohne jeglichen Zusatzinfos (z.B. wie viele Teilnehmerinnen und Teilnehmer des Meetings hatten die Kamera an) ist das keine qualifizierte Rückmeldung zu BBB. Was waren also die Rahmenbedingungen?

  • Wo steht der Server (Anbindung)?
  • Wie ist der per Hardware ausgestattet
  • Wie viele Teilnehmer/innen hatten die Kamera an? In dem Kontext - welche Hardware haben die Eltern genutzt? Ein Billig-Smartphone steigt halt auch schon bei wenigen Videos aus (auch mit Jitsi).
  • Was wurde in der Präsentation gezeigt? Bildschirm-Sharing in Höchstauflösung womöglich?

Viele Grüße, Andreas

Hallo Andreas,

es ist ein Server aus der Serverbörse von Hetzner, wie ihn die Meisten hier haben:
i7 4770, 32 GB RAM, 1 GBit/s-Anbindung, BBB 2.2.x

Die kurze Meldung des SL war gestern als das Problem auftrat „ab 100 war Ende“.

Es waren aber definitiv schon etliche Konferenzen mit Klassen parallel auf unserem Server, ohne dass es Probleme gab, also deutlich > 100 Teilnehmer, nur eben verteilt auf mehrere Konferenzen.

Leider habe ich es bislang zeitlich nicht geschafft, ein Monitoring zu installieren. Das würde sicher mehr Aufschluss geben.

Zahl der Kameras, was gezeigt wurde und wie sich das „da geht gar nichts“ geäußert hat, versuche ich gerade in Erfahrung zu bringen.

Über die Endgeräte und Internetanbindungen der Teilnehmer lassen sich sicherlich keine Infos bekommen. Es war eine Veranstaltung gestern Abend für alle Eltern der 5er und 6er wegen der „Teststrategie“ bei uns an der Schule.

Viele Grüße
Steffen

Hallo Steffen,
um mir die Kursräume, TN, Kameras etc. anzeigen zu lassen, benutze ich das „Script?“ von hmt.
Sub-Domain einrichten, Dateien reinkopieren, aufrufen, BBB-Server eintragen - und gut.
Schnell gemacht und ist einfach.
Schau einmal hier:
Dateien: https://github.com/hmt/bbb-static-monitor/releases/latest/download/bbb-monitor.zip
Thema: BBB Monitor - neu und in Farbe

VG Andre(as)

Kollege hat ein Shellscript geschrieben, welches uns aus den Logs die ganzen Klassen rausfrickelt und die Anwesenheiten dokumentiert (joined und left), falls das jemand braucht…

Hallo Andreas,

verstehe ich das richtig, dass das nur auf einen Webspace muss?

Viele Grüße
Steffen

Ja, das ist eine statische Seite. Du kannst auch direkt diese Seite benutzen: https://bbb-monitor.netlify.app/

Du kannst es kontrollieren, die Anfragen an BBB werden direkt im Browser gemacht, es fließen keine Daten an einen dritten Server. Da werden auch die Namen aller Teilnehmer angezeigt, falls jemand Listen erstellen möchte.

Ich liebe Shell-Scripte :wink:
Ausprobieren würde ich es auf jeden Fall einmal.
VG Andreas

Hallo html,

vielen Dank.
Allerdings sagt mir die Webseite „keine Vebindung zum Server“, wenn ich
https://bbb.unseredomain.de/bigbluebutton
(oder ohne /bigbluebutton oder auch nur /b ) und das Secret eintrage.

Greenlight ist über https://bbb.unseredomain.de/b erreichbar.

Viele Grüße
Steffen

Es reicht die URL ohne /bigbluebutton oder /bMoni_1

Das Cors Everywhere-Addon muss in Firefox installiert und aktiviert sein!

Grüße,
Stefan

HAllo Stefan,
stimmt, da war doch etwas - geht aber auch ohne.

Weiss bloss nicht mehr wie es ging.

VG Andreas

Habe es gefunden:

In /etc/bigbluebutton/nginx/web.nginx vor der letzten Klammer den Code einfügen:

location /bigbluebutton/api/getMeetings {
  proxy_pass         http://127.0.0.1:8090;
  proxy_redirect     default;
  proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;

  add_header Access-Control-Allow-Origin *;
  add_header Access-Control-Allow-Methods "GET,OPTIONS";
  add_header Access-Control-Allow-Headers  Content-Type;
  add_header Access-Control-Max-Age        86400;
}

nginx neu starten

Dann sollte es auch ohne Plugin klappen.

VG Andreas

Hallo,

ok. Danke.
Da nur ich das brauche, lasse ich den BBB-Server unverändert und gehe über das Plugin.

Viele Grüße
Steffen

Hallo Andreas,

da scheint es vielleicht auch noch zu klemmen:

ufw status
Status: active

To Action From


1935/tcp DENY Anywhere
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
16384:32768/udp ALLOW Anywhere
1935/tcp (v6) DENY Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
16384:32768/udp (v6) ALLOW Anywhere (v6)

Allerdings: Was verbirgt sich hinter „Nginx Full“ :thinking:
Konnte mir die Suchmaschine meiner Wahl bislang nicht beantworten…

Viele Grüße
Steffen

Ausfuehren mit ./getusers.sh dateiname.log ,fuer heute ./getusers.sh bbb-web.log

Das Skript kopiert brute-force erstmal alles Logs in den aktuellen Ordner, sortiert, sucht und legt Dateien fuer die einzelnen Raeume an.

#!/bin/bash
#***********************************************************************************
#Das Skript erzeugt Dateien mit den Klassennamen als Dateinamen.
#Dort sind dann die User nach Namen und innerhalb der Namen nach Uhrzeit sortiert.
#*********************************************************************************** 

cp -r /var/log/bigbluebutton/* .

users=()
rm users.txt
rm roomlist.txt

while IFS= read -r line
do
  		#echo "$line"

		timestamp=$(echo $line | cut -f1 -d ' ' | cut -c -19)

		data=$(echo $line |grep -o \{.*\})

#		echo $data

		user=$(echo $data | jq -r .username)
		#Nur die Angabe, ob rein oder raus...
		desc=$(echo $data | jq -r .description | awk {'print $2'})
		role=$(echo $data | jq -r .role)

		#Scheiß Breakoutrooms aussortieren
		meeting=$(echo $data | jq -r .name | awk {'print $1'})
		echo $meeting
		#Aussortieren, wenn jemand mit zwei Geräten drin ist... 
		if [ $desc != user ]
		then
			echo  "$meeting	$timestamp	$user	$desc" >> users.txt
			echo  "$meeting	$timestamp	$user	$desc"
		fi
		nachname=$(echo $user | cut -f 1 -d ' ')
		users+=($nachname)
		rooms+=($meeting)

done < <(cat $1 | grep username ) 

#Nach Klasse / Raumnamen sortieren und in entspr. Dateien schreiben

uniqrooms=($(printf "%q\n" "${rooms[@]}" | sort -u))

echo "${uniqrooms[@]}" >> roomlist.txt


for ROOM in "${uniqrooms[@]}"
do
	#Nur zu Inbetriebnahme...
	rm $ROOM
	touch $ROOM
	#tatsächlich melden sich manche mit allen! Namen an... 
	grep $ROOM users.txt | awk {'print $2 "	" $3 "	" $4 "	" $5 "	" $6 "	" $7'} >> $ROOM

	#Erst nach Namen Sortieren, dann nach Uhrzeit... So kann man sehen, wann die Leute kommen und gehen...
	#Auf BBB1 kann man ja noch nach Nachnamen sortieren...
        sort -k 1 -u $ROOM | sort -k 2,2 -k 1,1 >> $ROOM.sort
        mv $ROOM.sort $ROOM


done

Bitte nur als Eintrag in der Whitelist, sonst hast Du CORS überall gesetzt. Das möchtest Du nicht.

Hallo htm,

also einen Eintrag z.B.
/^https?bbb-monitor.netlify.app:8080\//i
im Addon??

Viele Grüße
Steffen

https://bbb-monitor.netlify.app

müsste reichen