BigBlueButton.plNiezależny serwis po polsku

Monitoring

Monitorowanie usług i zasobów BigBlueButton, metryki oraz narzędzia obserwacji.

Tłumaczenie automatyczne 4.0 Stan źródeł:
Ilustracja rozdziału: Monitoring
Ilustracja z repozytorium dokumentacji BigBlueButton, tag v4.0.0. Niektóre obrazy źródłowe przedstawiają starszy interfejs. Źródło ilustracji.

Przegląd

Po zainstalowaniu BigBlueButton ważne jest skonfigurowanie lub zintegrowanie BigBlueButton z systemem monitorowania. Popularnym obecnie stosem monitorującym są Prometheus, Grafana i Alertmanager.

  • Prometheus służy do zbierania metryk. Zbiera te metryki, odwiedzając punkt końcowy usługi, który udostępnia metryki w formacie Prometheus. Jeśli usługa nie obsługuje natywnie metryk Prometheus, można zainstalować eksportery, które wysyłają zapytania do usługi i wyświetlają metryki w odpowiednim formacie Prometheus. Aby szybko i efektywnie zapoznać się z Prometheusem, zapoznaj się z dokumentacja wprowadzająca. W tym artykule opisujemy wszystkich eksporterów istotnych dla działania BigBlueButton.

  • Grafana służy do wizualizacji metryk, logów i innych danych z różnych źródeł danych , w tym Prometheus. Powszechną praktyką jest przeglądanie metryk Prometheusa za pomocą Grafany. Użytkownik musi zapisać zbiór paneli (panel to wykres, tabela lub inny wizualny element metryki) w dashboardzie . W przypadku popularnych dashboardów dostępne są gotowe dashboardy, które można pobrać z strona internetowa firmy Grafana.

  • Alertmanager to rozszerzenie napisane przez ludzi z Prometheusa. Służy do wyzwalania alertów do poczty e-mail, Slack, PagerDuty itp. na podstawie predefiniowanych podejrzanych wskaźników (wykorzystanie procesora > 75%, 90% użycie pamięci RAM, 90% wykorzystanie miejsca na dysku itp.).

Prometheus, Grafana i Alertmanager współpracują, tworząc wysoce elastyczne, rozszerzalne i wydajne rozwiązanie do monitorowania.

Metryki BigBlueButton

Obecnie BigBlueButton nie ujawnia żadnych metryk, jednak istnieje projekt kierowany przez społeczność, który wdrożył eksportera Prometheusa, który umożliwia skrobanie przy użyciu kluczowych metryk Prometheusa BigBlueButton.

BigBlueButton Exporter

BigBlueButton Exporter to projekt kierowany przez społeczność, mający na celu ukazanie różnych wskaźników dostępnych za pośrednictwem interfejsu API udostępnianego przez BigBlueButton.

Ujawniane metryki:

  • Liczba uczestników według typu (słuchacze, głos, wideo)
  • Liczba uczestników według klienta (HTML5, połączenie telefoniczne)
  • Liczba nagrań (przetwarzanie, opublikowane, niepublikowane, usunięte, nieprzetworzone)
  • Liczba uczestników w pokojach według segmentu

Panel Grafana, który jest udostępniany przez projekt:

Projekt dokumentacja jest obszerna i prowadzi przez wiele różnych konfiguracji instalacji . A także zapewnia pulpity nawigacyjne Grafana z różnymi widokami: wszystkie serwery zagregowane i pojedynczy konkretny serwer.

Monitorowanie systemu

Prometheus Node Exporter zbiera podstawowe dane z podstawowego systemu operacyjnego, na którym działa BigBlueButton. Gromadzi ponad 500 wartości, w tym wykorzystanie procesora i pamięci, operacje we/wy dysku i statystyki sieciowe. Pomogą one obserwować podstawowe zachowanie systemu za pośrednictwem Grafany i ostrzegać o nieprawidłowościach za pośrednictwem Alertmanager.

Istnieją trzy różne pulpity nawigacyjne Node Exporter dla Grafany, w zależności od przypadku użycia. Najbardziej podstawowy wygląda tak:

Monitorowanie poszczególnych usług systemowych

Zewnętrzny systemd eksporter można wykorzystać do monitorowania usług BigBlueButton na poziomie systemowym, tj. mi. śledź wykorzystanie zasobów dla każdej usługi. Umożliwia to szczegółowy wgląd w wykorzystanie i dystrybucję zasobów pomiędzy różnymi komponentami BigBlueButton.

Poniższa linia poleceń uruchomi eksportera systemowego i poinstruuje go, aby monitorował tylko usługi istotne dla BigBlueButton na porcie 9558:

systemd_exporter --systemd.collector.unit-include=(bbb.*|b3scale.*|freeswitch)\.service

Można o to zapytać poprzez curl http://bbb.example.com:9558/metrics.

Uwaga: Należy zapewnić odpowiednią zaporę sieciową dla tych punktów końcowych.

Wewnętrzne metryki BigBlueButton

Niektóre komponenty BigBlueButton zapewniają punkty końcowe skrobania Prometheusa. Ujawnione informacje mogą pomóc w działaniu, rozwiązywaniu problemów lub optymalizacji systemu pod kątem takich celów, jak skalowalność, szczególnie gdy specjalne wymagania wymagają dostosowania. Nie są one wymagane do normalnej pracy.

Uwaga: Należy zapewnić odpowiednią zaporę sieciową dla tych punktów końcowych.

WebRTC SFU

BigBlueButtons Jednostkę selektywnego przesyłania można skonfigurować w celu udostępnienia wielu punktów końcowych Prometheus, dodając następujące fragmenty do /etc/bigbluebutton/bbb-webrtc-sfu/production.yml:

prometheus:
  enabled: true
  # mcs-core specific metrics
  host: localhost
  port: 3014
  path: '/metrics'
  collectDefaultMetrics: false
  # Main process metrics endpoint (main == websocket entrypoint, module manager)
  main:
    host: localhost
    port: 3016
    path: '/metrics'
    collectDefaultMetrics: false
  # Video process metrics endpoint (video == webcam req handler, ...)
  video:
    host: localhost
    port: 3026
    path: '/metrics'
    collectDefaultMetrics: false
  screenshare:
    host: localhost
    port: 3022
    path: '/metrics'
    collectDefaultMetrics: false
  audio:
    host: localhost
    port: 3024
    path: '/metrics'
    collectDefaultMetrics: false

Po ponownym uruchomieniu bbb-webrtc-sfu można teraz przeglądać metryki za pomocą

  • curl http://bbb.example.com:3014/metrics (mcs-core)
  • curl http://bbb.example.com:3016/metrics (główny)
  • curl http://bbb.example.com:3026/metrics (wideo)
  • curl http://bbb.example.com:3022/metrics (udostępnienie ekranu)
  • curl http://bbb.example.com:3024/metrics (audio)

odpowiednio.

Frontend HTML5 (eksperymentalny)

Serwery Frontend HTML5 można skonfigurować tak, aby udostępniały punkty końcowe Prometheus, dodając następujące elementy do /etc/bigbluebutton/bbb-html5.yml:

private:
    prometheus:
        enabled: true
        # Metrics endpoint path
        path: '/metrics'
        # Whether default metrics for Node.js processes should be exported
        collectDefaultMetrics: false
        # Whether redis metrics should be exported
        collectRedisMetrics: false

Po ponownym uruchomieniu metryki będą dostępne pod adresem https://bbb.example.com/html5client/metrics.

Uwaga: Punkt końcowy nie jest chroniony. Musisz samodzielnie skonfigurować kontrolę dostępu nginx do tego adresu URL.

Optymalizacja: Konsolidacja punktów końcowych metryk lokalnych

Używając oprogramowania innych firm, takiego jak eksporter_eksportera lub eksporter_reverse, można skonsolidować wszystkie powyższe punkty końcowe w jedną metrykę Punkt końcowy . Upraszcza to skrobanie i zmniejsza liczbę połączeń pomiędzy maszynami. Umożliwia to także innym eksporterom korzystanie z zapory ogniowej lub powiązanie z hostem lokalnym. Tylko port eksportera proxy będzie musiał zostać ujawniony , aby serwer Prometheus mógł go zeskrobać.

Stas monitorujący All-In-One

Jeśli nie chcesz samodzielnie instalować Prometheusa i Grafany, ciekawą funkcją jest Stack monitorujący All-In-One. Dokumentacja pokazuje, jak skonfigurować cały stos monitorowania (eksporter Prometheus, Grafana i BigBlueButton) na serwerze BigBlueButton przy użyciu pojedynczego pliku tworzenia dokera. Jest to przydatne, jeśli administrujesz pojedynczym serwerem BigBlueButton i nie masz istniejącej infrastruktury monitorowania.