Benachrichtigungen (Alerter)¶
Der Alerter ist ein integrierter Benachrichtigungsdienst. Er überwacht den Zustand von Streams, der Node-Hardware, des DVB-Empfangs und der DVR-Aufnahme und löst Alerts (Vorfälle) aus, wenn etwas die festgelegten Grenzen überschreitet. Die Liste aktiver Alerts ist im Admin-Bereich sichtbar; in einem Netzwerk mit aktivierter domänenweiter Replikation zeigt jeder Node einen zusammengefassten Alert-Satz für die gesamte Domain.
Der Alerter funktioniert auch auf einem einzelnen Node — Meshwork wird nur für die Replikation von Alerts über die Domain benötigt.
Wie ein Alert aufgebaut ist¶
Jeder Vorfall hat eine stabile Kennung: das erneute Auftreten desselben Problems ist derselbe Vorfall, kein neuer.
Ein Vorfall durchläuft Zustände: ausgelöst (erstmals bemerkt), aktualisiert (erneut mit einer wesentlichen Änderung bemerkt), behoben (das Problem ist weg). Der aktive Satz sind die Vorfälle, die noch nicht behoben wurden.
Jeder Alert hat einen Schweregrad (in aufsteigender Reihenfolge: Information, Warnung, Fehler, kritisch, erfordert Administrator-Eingriff), einen Code (die numerische Art des Vorfalls — siehe Katalog unten), eine Quelle (Stream, Node, Storage), einen Quell-Node (wer den Alert ausgelöst hat) und einen menschenlesbaren Objektnamen.
Die meisten Alerts sind pegelbasiert: der Dienst bewertet die Bedingung periodisch neu und löst den Alert selbst aus oder behebt ihn. Ein Teil der Alerts, die einen Administrator-Eingriff erfordern, ist haftend — sie werden nicht von selbst behoben, bis die Ursache beseitigt ist (sie werden manuell behoben, siehe Alerts anzeigen und beheben).
Die Liste aktiver Alerts wird im Speicher gehalten und beim Neustart des Dienstes geleert.
Steuerung auf Stream-Ebene. Jeder Stream hat einen Schalter, der seine Alerts vollständig stummschaltet (zusammen mit den Alerts seiner Inputs und Outputs), und eine Alert-Verzögerung: eine Quelle, die sich innerhalb der festgelegten Zeit erholt, löst keinen Alert aus — das glättet kurzzeitiges Flattern.
Alerter-Einstellungen¶
Die Einstellungen befinden sich im Benachrichtigungsbereich und erfordern die Administrator-Rolle. Die genauen Felder sind im Abschnitt Weboberfläche beschrieben; nachfolgend, was konfiguriert werden kann.
Hauptschalter des Benachrichtigungsdienstes (standardmäßig aktiviert).
Domänenweite Replikation (standardmäßig aktiviert): ein Node teilt seine Alerts mit Nodes derselben Domain und empfängt deren Alerts — jeder Node zeigt einen zusammengefassten Satz. Nur wirksam, wenn eine Domain festgelegt ist.
Replikation von System-Alerts (standardmäßig deaktiviert): Alerts über die Node-Hardware (Host-CPU und -Speicher, Streamer-Prozess und Transcoder, Netzwerk- und GPU-Auslastung, Worker-Threads und das DVB-Frontend — Codes 16–23 und 40–45) sind standardmäßig lokal; aktivieren Sie dies, damit sie ebenfalls über die Domain repliziert werden. Storage-Alerts (Codes 24–25) bleiben immer lokal.
Stream-Schwellenwerte: Timeout bei fehlenden Daten (Standard 15 s), minimal zulässige Bitrate (Prüfung standardmäßig deaktiviert), Schwellenwert für Continuity-Counter-Fehler über ein 10-s-Fenster (Warn- und Fehlerpegel).
Node-Ressourcen-Schwellenwerte — Paare „Warnung / Fehler“ in Prozent für Host-CPU und -Speicher, den Streamer-Prozess und Transcoder, die Auslastung von Netzwerkschnittstelle und GPU sowie die Füllung des DVR-Storage. Die Host-Schwellenwerte sind höher angesetzt als die des Streamer-Prozesses und der Transcoder, damit eine einzelne Komponente früher warnt, als die gesamte Maschine gesättigt wird. Der Wert 0 deaktiviert den entsprechenden Pegel.
DVB-Frontend-Schwellenwerte — Signalpegel, SNR/Qualität, Bitfehlerrate und unkorrigierte Blöcke; werden auf einen Adapter angewendet, der das Signal erfasst hat (Lock).
DVR-Aufnahme-Schwellenwerte — die Anzahl aufeinanderfolgender fehlgeschlagener Schreibvorgänge, der Multiplikator für ein Aufnahme-Stocken, der Anteil der Archiv-Lücken und die Lese-/Schreibzeit der Chunks auf die Festplatte.
Katalog der Alert-Codes¶
Der Code ist die numerische Art des Vorfalls, praktisch für Gruppierung und Lokalisierung. Die Spalte „Replikation“ gibt an, ob der Alert über die Domain repliziert wird (bei aktivierter Replikation) oder für den Node lokal bleibt.
Streams: Zustand und Arbeitszyklus (Quelle — Stream)
Code |
Ereignis |
Replikation |
|---|---|---|
1 |
ein Input oder Output ist in den Fehlerzustand übergegangen |
domänenweit |
2 |
nicht behebbarer Arbeitszyklus-Fehler, manueller Reset erforderlich (erfordert Administrator-Eingriff) |
domänenweit |
3 |
ein laufender Stream liefert länger als das Timeout keine Daten |
domänenweit |
4 |
die Stream-Bitrate bleibt unter dem Minimum |
domänenweit |
13 |
der Stream ist pausiert: kein nutzbarer Input mehr vorhanden (erfordert Administrator-Eingriff) |
domänenweit |
14 |
ein Input oder Output hat sich selbst geparkt und erholt sich beim Wiederholen nicht (erfordert Administrator-Eingriff) |
domänenweit |
27 |
der Stream läuft auf dem Backup-Input — eine Umschaltung ist erfolgt |
domänenweit |
39 |
hohe CPU-Auslastung durch den Worker-Thread des Streams |
domänenweit |
Transportstrom-Konformität (TR 101 290-Analyzer) (Quelle — Stream; alle domänenweit repliziert)
Code |
Ereignis |
|---|---|
5 |
wiederholte PCR-Diskontinuitäten (TR 101 290, 2.3) |
6 |
PCR-Wiederholintervall größer als 40 ms (2.3a) |
7 |
PAT-Wiederholintervall größer als 500 ms (1.3) |
8 |
PMT-Wiederholintervall größer als 500 ms (1.5) |
9 |
PTS-Wiederholintervall größer als 700 ms (2.5) |
10 |
PCR-Genauigkeit schlechter als 500 ns (2.4) |
11 |
T-STD-Puffer-Über- oder -Unterlauf beim Video (3.3) |
12 |
PCR-Drift größer als 30 ppm (historisch: der Alert wird nicht mehr ausgelöst, die Drift wird als Metrik angezeigt — Fortlaufende Messungen) |
15 |
Continuity-Counter-Fehler über dem Schwellenwert innerhalb eines kurzen Fensters (1.4) |
46 |
CRC-Fehler in PSI-Tabellen (2.2) |
47 |
das transport_error_indicator-Flag ist gesetzt (2.1) |
48 |
Wiederholintervall der SI-Tabelle überschritten (SDT / EIT / TDT / NIT) |
49 |
Gesamturteil: der Stream entspricht nicht TR 101 290 |
Ein Teil der Analyzer-Codes erscheint nur bei aktivierten Analyseoptionen (Tiefenanalyse, Analyse von PTS-Diskontinuitäten, Analyse des T-STD-Puffers) und gilt nur für Streams mit konstanter Bitrate; das Gesamturteil (49) wird nur bei zuverlässig konstanter Bitrate gefällt. Näheres im Abschnitt Analysator.
Node-Ressourcen und -Hardware (Quelle — System)
Code |
Ereignis |
|---|---|
16 |
Host-CPU-Auslastung über dem Schwellenwert |
17 |
Host-Speichernutzung über dem Schwellenwert |
18 |
CPU des Streamer-Prozesses über dem Schwellenwert |
19 |
Speicher des Streamer-Prozesses über dem Schwellenwert |
20 |
Gesamt-CPU der Transcoder über dem Schwellenwert |
21 |
Gesamtspeicher der Transcoder über dem Schwellenwert |
22 |
Auslastung der Netzwerkschnittstelle über dem Schwellenwert (pro Schnittstelle) |
23 |
GPU-Auslastung über dem Schwellenwert (pro Gerät) |
24 |
DVR-Storage-Füllung über dem Schwellenwert (pro Storage) |
25 |
das Dateisystem des DVR-Storage ist nicht verfügbar (erfordert Administrator-Eingriff) |
40 |
hohe CPU-Auslastung durch den Worker-Thread des DVB-Adapters |
41 |
das DVB-Frontend hat das Signal (lock) verloren |
42 |
DVB-Signalpegel unter dem Schwellenwert |
43 |
SNR/Qualität des DVB-Signals unter dem Schwellenwert |
44 |
DVB-Bitfehlerrate (BER) über dem Schwellenwert |
45 |
unkorrigierte DVB-Blöcke über dem Schwellenwert |
Alle Alerts dieser Gruppe sind standardmäßig lokal. Die Codes 16–23 und 40–45 können mit dem Schalter für die Replikation von System-Alerts über die Domain repliziert werden; die Codes 24–25 bleiben immer lokal. Die Schwellenwert-Alerts des DVB-Frontends (42–45) werden nur auf einem Adapter ausgewertet, der das Signal erfasst hat; der Code 41 wird beim Verlust des Locks ausgelöst. BER (44) ist standardmäßig deaktiviert, da die Rohskala vom Empfänger abhängt (siehe DVB-Empfänger).
Meshwork und Lebenszyklus (Quelle — Netzwerk/System; lokal)
Code |
Ereignis |
|---|---|
26 |
ein Netzwerk-Node ist verstummt — bestätigt die Verbindung nicht mehr |
28 |
der Streamer-Prozess hat den Start abgeschlossen (kurzlebige Benachrichtigung) |
37 |
zwei Nodes mit demselben Namen in einer Domain (erfordert Administrator-Eingriff) |
DVR-Aufnahme-Gesundheit (Quelle — Stream; lokal)
Code |
Ereignis |
|---|---|
29 |
DVR-Segment- oder Index-Schreibvorgänge schlagen fehl — das Archiv wird nicht geschrieben |
30 |
die DVR-Aufnahme ist ins Stocken geraten: Input ist vorhanden, aber ein neues Segment wird lange nicht gespeichert |
31 |
das DVR-Archiv ist beeinträchtigt — Lücken in der jüngsten Abdeckung |
32 |
der Index des DVR-Archivs ist beschädigt (erfordert Administrator-Eingriff) |
50 |
hohe Lese-/Schreibzeit von DVR-Chunks auf die Festplatte |
Konfiguration, Transcoder, OTT und Zertifikate (Quelle — System/Stream)
Code |
Ereignis |
Replikation |
|---|---|---|
33 |
die Hauptkonfiguration konnte beim Start nicht geladen werden, der Dienst startete mit der Ersatzkonfiguration (erfordert Administrator-Eingriff) |
domänenweit |
34 |
im low-latency HLS/DASH-Modus wurden Audiospuren in einem nicht unterstützten Codec verworfen (unterstützt werden AAC und AC-3) |
domänenweit |
35 |
das HTTPS-Zertifikat konnte über den integrierten ACME-Client nicht ausgestellt oder erneuert werden |
domänenweit |
36 |
ein konfigurierter Transcoder konnte beim Start nicht geladen werden — keine ausführbare Datei oder kein Gerät (erfordert Administrator-Eingriff) |
domänenweit |
38 |
der Stream erfordert einen Transcoder (Software, NVIDIA oder Intel VPL), der auf diesem Node nicht verfügbar ist (erfordert Administrator-Eingriff) |
lokal |
Conditional-Access-Modul (CI/CAM, EN 50221) (Quelle — System; lokal)
Code |
Ereignis |
|---|---|
51 |
das CAM-Modul wurde entfernt (erfordert Administrator-Eingriff) |
52 |
kein Abonnement: das Modul meldet, dass das Programm nicht bezahlt ist |
53 |
CI/CA-Fehler — ein nicht behebbarer Kanal- oder Conditional-Access-Fehler |
Alerts anzeigen und beheben¶
Der Admin-Bereich hat einen Benachrichtigungsabschnitt mit einer Liste von Alerts. Er kann nach Satz (nur aktive / nur behobene / alle), nach Schweregrad, nach Quelltyp und -kennung, nach Code, nach Domain und nach Zeit gefiltert werden, außerdem kann nach Nachrichtentext gesucht werden. Standardmäßig werden sowohl aktive als auch kürzlich behobene Einträge angezeigt (das Übergangsprotokoll), daher kann die Gesamtzahl der Zeilen die Zahl der aktiven Vorfälle übersteigen — für den aktuellen aktiven Satz wählen Sie den Modus „nur aktive“.
Sie müssen den Zustand nicht manuell abfragen: der Admin-Bereich empfängt Änderungen am aktiven Satz in Echtzeit und aktualisiert die Liste selbst, sobald ein Alert ausgelöst, aktualisiert oder behoben wird.
Pegelbasierte Alerts werden automatisch behoben, wenn die Bedingung verschwindet. Haftende Alerts, die einen Administrator-Eingriff erfordern (zum Beispiel ein Fehler beim Laden der Konfiguration, Nichtverfügbarkeit des Storage, ein harter Arbeitszyklus-Fehler), werden nicht von selbst behoben: nach Beseitigung der Ursache wird ein solcher Vorfall manuell behoben (bestätigt). Das Beheben wirkt auf dem Node, der den Alert ausgelöst hat: wenn Sie im Netzwerk einen fremden (domänenweit replizierten) Vorfall sehen, müssen Sie ihn auf dem Quell-Node beheben (er ist in der Zeile angegeben).
Domänenweite Replikation von Benachrichtigungen¶
Bei aktivierter Replikation und festgelegter Domain zeigt jeder Node einen zusammengefassten aktiven Satz für die gesamte Domain: die eigenen Alerts des Nodes plus die Alerts der Peers derselben Domain. Jede Zeile gibt den Quell-Node an, sodass ersichtlich ist, auf welchem Node genau das Problem aufgetreten ist.
Domänenweit repliziert: Stream-Alerts und Transportstrom-Konformitäts-Alerts, Umschaltung auf den Backup-Input, Lade-Fehler von Konfiguration und Transcoder, OTT-Audio-Verwerfung, ACME-Zertifikatsfehler.
Bleiben lokal: Ressourcen-Alerts über Hardware und Storage, „Node verstummt“, Kollision von Node-Namen, Benachrichtigung über den Dienststart, Alerts zur DVR-Aufnahme-Gesundheit und Alerts des Conditional-Access-Moduls. System-Hardware-Alerts (Codes 16–23 und 40–45) können mit dem Schalter für die Replikation von System-Alerts auf Replikation umgestellt werden.
Den Alert „Netzwerk-Node verstummt“ löst jeder Node selbstständig über den Peer aus, der aufgehört hat zu antworten — daher lösen die Peers eines einzelnen ausgefallenen Nodes einen solchen Alert unabhängig voneinander aus.
Externe Alert-Zustellung¶
Neben der Liste im Browser können Alerts an einen externen Befehl, in einen Telegram-Chat und per E-Mail (SMTP) zugestellt werden. Jeder Kanal ist unabhängig und standardmäßig deaktiviert und führt die Zustellung auf einem eigenen Hintergrund-Thread durch, sodass ein langsamer oder nicht erreichbarer Empfänger die anderen Kanäle und den Dienst selbst nicht aufhält.
Jeder Kanal hat einen Mindest-Schweregrad für die Zustellung (standardmäßig Warnung): jeder auf dem Node sichtbare Alert (eigener oder domänenweit replizierter) ab diesem Pegel wird zugestellt, und zwar sowohl beim Auslösen als auch beim Beheben. Die Verbindungsparameter jedes Kanals sind im Abschnitt Weboberfläche beschrieben.
Typische Probleme¶
Alerts der Peers sind nicht sichtbar. Prüfen Sie, dass auf den Nodes die domänenweite Replikation aktiviert und eine gemeinsame Domain festgelegt ist. System-Hardware-Alerts sind standardmäßig lokal — aktivieren Sie die Replikation von System-Alerts, wenn Sie diese ebenfalls domänenweit sehen möchten.
Ein haftender Alert verschwindet nicht, nachdem die Ursache beseitigt wurde. Beheben Sie ihn manuell auf dem Quell-Node.