Benachrichtigungen vom NAS - Ein Überblick über das Notification Center

[PROLOG]
Das Notification Center (NC) ist ein wichtiges Werkzeug eines QNAP NAS: Es versendet nach entsprechenden Vorgaben Benachrichtigungen zu Fehlern, Warnungen und Informationen. So sitze ich an einem Sonntag auf dem Sofa und bekomme Meldungen am laufenden Band: Ein Appupdate ist verfügbar, eine Lizenz ist abgelaufen und ein Volume hat seinen Schwellwert erreicht; mein PW habe ich dann auch noch falsch eingegeben, was zu einer weiteren Meldung führte. Alles Meldungen, die ich exakt so erhalten wollte, oftmals ist es aber auch so, dass man schier keinen Überblick hat warum man Meldungen erhält, die man doch eigentlich gar nicht haben wollte. Ein Blick in das NC wirft weitere Fragen auf… wie zum Teufel funktioniert das Ding, und wie stelle ich es auf meine Bedürfnisse ein? Zugegeben ist es wirklich nicht einfach sich hier einen Überblick zu verschaffen, ich kämpfe manchmal selbst noch damit obwohl ich glaube das NC recht gut zu verstehen.


Ich will mal versuchen wenigstens etwas Licht in das NC zu bringen.


[ALLGEMEINES]

Das NC ist als eigenständige App anzusehen, auch wenn diese fest in QTS verankert ist. Das bedeutet, dass Meldungen nicht direkt im NC eingehen, sondern dass das NC diese Meldungen von anderer Stelle abrufen oder zugeschickt bekommen muss. Dabei unterscheidet das NC grundlegend zwischen Alarmbenachrichtigungen und Ereignisbenachrichtigungen. Der Hauptunterschied sind die Quellen, von denen das NC seine Meldungen bekommt. Das ist sicherlich auch der Punkt, der oftmals Verwirrung stiftet.

Das NC kann die Meldungen über verschiedene Wege übertragen: Email, SMS, Sofortnachrichten und über Pushbenachrichtigungen. Aber fangen wir mal vorne an.


[DAS NC MENÜ]

Das NC Menü stellt sich wie folgt dar


nc_menu.PNG


Übersicht:

Hier erhält man einen Überblick über alle Meldungen der letzten 30 Tage, die im NC eingegangen sind. Eine Meldung die eingegangen ist, wird aber nicht zwangsläufig übertragen, je nachdem was die erstellten Regeln dazu sagen. Hier hat man auch die Möglichkeit bestimmte Meldungen bequem zu einer Regel bzw. dessen Filter hinzu zu fügen. Außerdem bekommt man hier auch ein Diagramm welches anzeigt, wie viele Nachrichten welchen Typs in einem bestimmten Zeitraum versendet wurden. Eine Übersicht aller Meldungen (nicht nur der letzten 30 Tage) findet man im Menü ganz unten (nicht abgebildet).


Benachrichtigungwarteschlange und Verlauf:

Hier werden die Meldungen aufgeführt, die auch wirklich gemäß den erstellten Regeln übertragen wurden. In der Warteschlange sind jene Meldungen aufgeführt, die noch darauf warten verschickt zu werden, z.B. weil das NAS momentan keine Internetverbindung hat.


Servicekonto und Gerätekopplung:

Hier werden die unterschiedlichen Übertragungswege konfiguriert, z.B. wird der Emailaccount konfiguriert, von dem die Meldungen versendet werden sollen.


Regeln für Systembenachrichtigung:

Hier wird festgelegt, auf welche Weise welche Meldungen vom NC empfangen werden und welche Meldungen versendet werden sollen. Dies wird vornehmlich über Filter geregelt.


Globale Benachrichtigungseinstellungen:

Hier wird festgelegt, von welchen Apps und Diensten generell Nachrichten versendet werden, insbesondere wird hier aber auch festgelegt, welche Übertragungswege entsprechend zum Einsatz kommen sollen.


Wie üblich macht es wenig Sinn, das Menü von oben nach unten abzuarbeiten, wenn man das NC erstmals einrichten möchte, deshalb fangen wir dort an, wo die Reise losgeht.


[SERVICEKONTO UND GERÄTEKOPPLUNG]

Für die meisten wird sicherlich die Übertragung mittels Email von größter Bedeutung sein, viel kann ich dazu aber gar nicht schreiben, da ich ebenfalls nur diese Methode verwende und die Konfiguration selbsterklärend ist.


Email:

Hier wird der Postausgangsserver konfiguriert, von dem die Emails versendet werden sollen.

Wie schnell eine Email ankommt hängt natürlich von dem Emailprovider ab, bei mir kommen die Meldungen innerhalb weniger Sekunden an, sofern keine „höhere Gewalt“ etwas beeinflusst.


SMS:

SMS senden kann ein QNAP von selbst erstmal nicht, dafür ist es erforderlich sich bei einem entsprechenden Dienstleister anzumelden, bei dem man SMS über das Internet versenden kann. Ein paar Anbieter sind voreingestellt, man kann aber auch einen eigenen konfigurieren. Wie man sich vorstellen kann, bekommt man hierbei eine SMS, wenn eine Nachricht verschickt wird.


Sofortnachricht:

Zugegeben kenne ich diese Art der Übertragung überhaupt nicht. Es ist erforderlich dazu in der Myqnapcloud angemeldet zu sein, die ich nicht verwende. Man hat hier die Möglichkeit die Nachrichten per Skype oder den Facebook Messenger zu erhalten.


Pushnachricht:

Dies ermöglicht eine Benachrichtigung direkt an einen Browser oder an die Smartphone App „QManager“. Auch hier ist es erforderlich sich mit der Myqnapcloud anzumelden. Anschließend muss ein Browser oder die App mit dem NAS gekoppelt werden, wie das funktioniert ist an dieser Stelle auch beschrieben. Wird eine Nachricht verschickt, erhält man im (geöffneten) Browser oder per App eine entsprechende Meldung.


[GLOBALE BENACHRICHTIGUNGSREGELN]

Möchte man eine App oder ein Dienst generell ausschließen, also keine Meldungen davon empfangen, kann man das hier einstellen. Auch kann man hier einstellen, dass z.B. Sicherheitsmeldungen nur per SMS, niemals aber per Mail versendet werden.

Ich persönlich mache keinen Gebrauch hiervon, aber ich verwende ja auch nur den Weg mittels Email. Hierbei habe ich entsprechend alle Apps und Dienste aktiv, was davon genau übermittelt werden soll lege ich in den Regeln fest.


[BENACHRICHTIGUNGSREGELN]

Wie schon angemerkt wird hier zwischen Ereignisbenachrichtigungen und Alarmbenachrichtigungen unterschieden. Zumindest für mich ist die Bezeichnung äußerst irreführend, aber zum Glück stehen dazu ein paar Worte auf der entsprechenden Seite wo man die Regeln erstellt.

Für jede Regel kann ein einzelner oder mehrere Empfänger konfiguriert werden, bei Bedarf auch unterschiedliche Übertragungsmethoden. Außerdem werden in den Regeln auch Filter angelegt, mit denen man bestimmte Meldungen mittels Schlüsselwörtern ein- oder ausschließen kann.


Alarmbenachrichtigungen:

Alarmbenachrichtigungen holen sich die Meldungen direkt aus dem QuLog Center, also dem allgemeinen Ereignislog des QNAP. Sicherlich ist einigen schon aufgefallen, dass nicht alle Meldungen, die eine App oder ein Dienst ausspucken kann auch dort enthalten sind (z.B. fließt im Qu Log Center nicht ein, dass eine VM in der Virtualization Station gestartet oder gestoppt wurde). Diese Meldungen kann man mit den Alarmbenachrichtigungen also nicht abfangen.


Damit man die Meldungen aus dem QuLog Center übertragen bekommt, bedarf es hier zunächst einer Regel. Bei mir besagt diese Regel ganz pragmatisch, dass ich alle Warnungen und Fehler erhalten möchte, nicht aber Informationen.

nc_alerts.PNG          nc_alert_receiver.PNG


Wer möchte kann in den Regeln aber auch festlegen, dass nur Meldungen mit bestimmtem Inhalt, oder Meldungen die einen bestimmten Inhalt nicht haben übertragen werden. Durch das Erstellen von mehreren Filtern kann man hier alles so gestalten wie man es möchte, so könnte man z.B. einstellen, dass man zwar alle Fehlermeldungen bekommt, als Warnung aber nur fehlgeschlagene Loginversuche oder ausschließlich Meldungen über erfolgreich ausgeführte Backups. Ein weiteres Beispiel werde ich noch zeigen.

Wichtig bleibt aber festzuhalten: Die gewünschten Meldungen müssen auch im QuLog Center auftauchen. Tun sie das nicht, sind Alarmbenachrichtigungen nicht das Mittel der Wahl und es muss zu den Ereignisbenachrichtigungen gegriffen werden.


Ereignisbenachrichtigungen:
Diese Benachrichtigungen beinhalten sowohl Meldungen, die auch in den Alarmbenachrichtigungen enthalten sein könnten, als auch Meldungen die dort nicht auftauchen. Damit das NC hierüber aber überhaupt Meldungen empfängt ist es erforderlich, dies in den entsprechenden Apps und Diensten einzustellen, zumindest wenn dies konfigurierbar ist. Kurz gesagt: Ereignisbenachrichtigungen sind auf die jeweiligen Einstellungen einer App angewiesen. So kann man in HBS3 z.B. einstellen, dass Meldungen an das NC übertragen werden, wenn ein Backup erfolgreich war oder fehlgeschlagen ist (oder beides und ggf. noch etwas mehr). Leider ist dies aber auch nicht in allen Apps einstellbar, bei manchen ist dies fest vorgegeben, so kann man in der VS z.B. keine entsprechenden Einstellungen tätigen und muss alles im NC selbst regeln.


Während man bei den Alarmbenachrichtigungen lediglich mit Schlüsselwort-Filtern arbeitet, kann man hier zusätzlich Meldungskategorien einer App direkt auswählen, z.B. dass man vom Appcenter lediglich Meldungen über Updates erhalten möchte, nicht aber über Appinstallationen. Leider geht aus den Bezeichnungen nicht hervor, welche Benachrichtigungen hier wirklich enthalten sind. Hier gibt es auch ein kleines „Achtung“, denn letztere Meldungen können auch über Alarmbenachrichtigungen erfolgen, sodass man die Meldung unter Umständen doppelt erhält. Verwirrend an dieser Stelle finde ich die Option, dass die Regeln des NC mit den Einstellungen der App synchronisiert werden, was bei manchen Apps auswählbar ist. Ist diese Option nicht aktiv, werden die Einstellungen der App scheinbar einfach übergangen.


Ich verwende hier nur zwei Regeln, da ich die Masse der Fehler und Warnungen ja bereits über die Alarmbenachrichtigung erhalte.


nc_events.PNG


Mit der Regel für das App Center sorge ich dafür, dass ich über App Updates benachrichtigt werde. Da dies zum einen eine Info ist, bekomme ich diese Meldung nicht mit meiner Alarmbenachrichtigung, zum anderen taucht die Info über ein verfügbares App Update auch gar nicht im Ereignis-Log auf, sodass dies gar nicht erst über eine Alarmbenachrichtigung realisiert werden könnte. Warnungen und Fehler habe ich hier abgewählt, da ich diese wiederum schon über die Alarmbenachrichtigung erhalte und somit eine doppelte Meldung vermeide (z.B. wenn bei einem App Update ein Fehler auftritt).


nc_events_1-1.PNG           nc_events_1-2.PNG


Die andere Regel für das QuLog Center benötige ich, um Nachrichten für andere Systeme zu versenden, dazu spätger mehr im Abschnitt „Meldungen von anderen Geräten“.



[BEISPIELE]

Es gibt etliche Möglichkeiten das NC nach seinen Wünschen zu konfigurieren, unmöglich alle aufzuzeigen. Daher möchte ich anhand eines Beispieles aufzeigen wie dies grundlegend möglich ist, denn auch für andere Anwendungen wäre das Vorgehen sehr identisch, mir ist auch einfach nichts eingefallen, was man ergänzend noch aufführen müsste.


Beispiel

Zuletzt wollte jemand im Forum nur darüber informiert werden, dass ein Backup mit HBS3 erfolgreich verlaufen ist. Zunächst gilt es dabei festzustellen, ob dafür eine Ereignis- oder Alarmbenachrichtigung erforderlich ist. In den System-Logs taucht die Info über einen erfolgreichen Job auf, eine Alarmbenachrichtigung wäre also möglich. In den Ereignisbenachrichtigungen kann man HBS3 ebenfalls wählen, die Qual der Wahl also. Ich zeige mal beide Möglichkeiten…


1. Möglichkeit Alarmbenachrichtigung:

Dazu wird eine entsprechende Regel erstellt und ein Filterkriterium angegeben. Dabei wird für den Schweregrad „Info“ der Meldungstext aus dem System-Log angegeben. Wie das einfach zu handhaben ist zeige ich später nochmal auf. Eine verwirrende Eigenheit gibt es allerdings dabei: Auch wenn in dem Filter der Text für meinen HBS3 Job „Media“ angegeben ist, gilt diese Regel für alle Backup Jobs, unabhängig vom Namen. Damit ist auch klar: Auf diese Weise kann man nicht regeln, dass man nur für bestimmte Jobs die Meldung erhält. Die Frage „Bug oder Feature?“ bleibt dabei offen.


nc_bsp_hbs-1.PNG


2. Möglichkeit Ereignisbenachrichtigung:

Als erstes erstellen wir die entsprechende Regel und wählen oben links „alles auswählen“ ab. Dann wird rechts nach HBS3 gefiltert und der Haken bei „Auftragsstatus gesetzt“. Im nächsten Schritt wird nur der Schweregrad „Info“ gewählt. Bei den gewünschten Jobs muss nun die Option aktiviert werden, dass eine Benachrichtigung erfolgt, wenn der Auftrag abgeschlossen ist.


nc_bsp_hbs-2.PNG          nc_bsp_hbs-2-2.PNG


Aber auch hier gilt wieder: Im NC geht nichts ohne Eigenheiten! Per Default bekommt man nun nämlich eine Benachrichtigung, wenn der Job gestartet ist und wenn er erfolgreich war. Um die Benachrichtigung des Starts zu unterbinden, muss die Regel noch wie folgt angepasst werden:


nc_bsp_hbs-2-3.PNG


Die oben angesprochene Eigenheit bleibt auch hier bestehen: Der Name des Jobs (Backup 23) wird hierbei nicht beachtet, auch wenn dieser in der Regel auftaucht.


[MELDUNGEN VON ANDEREN GERÄTEN]

Wer mehrere QNAP NAS sein Eigen nennt, muss das alles nicht an jedem NAS konfigurieren, denn mit dem QuLog Center können die Logs von anderen QNAP NAS empfangen und angezeigt, aber auch über ein einziges Gerät mittels NC übertragen werden.

Für diesen Anwendungsfall muss zunächst ein NAS als Empfänger und eins als Sender konfiguriert werden, dies geschieht im QuLog Center.


Für den Sender gibt man lediglich die IP des Empfängers ein und wählt welche Logs überhaupt übermittelt werden sollen:

nc_qulog_sender.PNG



Beim Empfänger aktiviert man zunächst den Empfang von Protokollen:

nc_qulog_receiver.PNG


Anschließend wird, ebenfalls im QuLog Center des Empfängers konfiguriert, dass Meldungen an die NC weitergegeben werden sollen, dabei landet man automatisch im NC wo auch schon die Regel entsprechend voreingestellt konfiguriert werden kann; es müssen nur noch Kriterien und Empfänger festgelegt werden. Natürlich wird hierbei eine Ereignisbenachrichtigung erstellt, denn die Logs aus dem entfernten Gerät tauchen schließlich nicht im Ereignis-Log des Empfängers auf.

nc_qulog_receiver_rules.PNG


nc_qulog_receiver_rules2.PNG           nc_qulog_receiver_rules3.PNG


Da ich auch hier nur Warnungen und Fehler übertragen möchte, was grundlegend in der zuvor erstellten Regel festgelegt wurde, empfiehlt es sich auch nur diese Meldungen an das NC zu übertragen, denn sonst würden die dortigen Protokolle stets Info-Meldungen von den entfernten Geräten aufweisen, was ich der Übersicht wegen vermeiden möchte.


Die Konfiguration dafür erfolgt wieder in dem Menü vom QuLog Center, wo wir uns gerade befanden etwas weiter unten:


nc_qulog_receiver2.PNG


Damit versendet ein NAS nun auch die Warnungen und Fehler eines anderen Geräts. Um weitere Geräte hinzu zu fügen reicht es nun weitere NAS als Sender zu konfigurieren.

Da in den Mails stets der Hostname des NAS vermerkt ist, hat man auch eine gute Übersicht, bei welchem Gerät die Meldung tatsächlich aufgetreten ist.


Ausprobiert habe ich es nicht, aber grundlegend ist dies auch mit dem Syslog Server möglich, sodass der QNAP mittels NC auch über nicht-QNAP Geräte informieren kann.


[WISSENSWERTES]

Sicherlich gibt es auch Fälle, bei denen weder Eintragungen im QuLog Center erfolgen, noch dass man Einstellungen für die Ereignisbenachrichtigungen vornehmen kann, es also keine Möglichkeit gibt, Meldungen eines Dienstes oder einer App zu übertragen.

So stand ich mal vor dem Problem, dass ein Fehlschlag beim Snapshot Replica nicht im QuLog Center geloggt wurde und auch per Ereignisbenachrichtigung keine Möglichkeit bestand, diesen Fehler an das NC übermittelt zu bekommen. Ein Fehler? Scheinbar nicht, dies wurde nämlich als Feature Request angenommen; ob sich da schon was getan hat weiß ich nicht, hatte schon länger keinen Fehlschlag beim Replica zu verzeichnen… So ist es auch nicht möglich das Starten oder Stoppen von VM in der Virtualization Station mit dem NC zu übertragen, denn dies taucht nicht im QuLog Center auf und auch bei der Verwendung von Ereignisbenachrichtigungen ist diese Meldung kein Bestandteil von dem, was an das NC übergeben wird.


Ein lästiges Verhalten der NC ist es, dass manche wiederkehrende Meldungen ständig wiederholt werden. Leider lässt sich dies derzeit nicht ändern, ein Feature Request habe ich längst eingereicht und ich denke, dass ich nicht der einzige sein werde. Hier stelle ich mir vor, dass man sich wiederholende Meldungen unterdrücken kann. Ich kenne dies z.B. von den (SNMP) Benachrichtigungen meiner APC USV, wo ich einstellen kann, ob und wie oft die Meldung desselben Ereignisses wiederholt werden soll. Mir ist aber auch klar, dass dies nicht mal eben durch das Einbauen von ein paar Optionsfeldern erledigt ist.


Eine weitere unglückliche Umsetzung in der NC ist, dass im Filter einer Regel die Schlüsselwörter eines Schweregrads nur ein- oder ausgeschlossen, aber nicht kombiniert werden können. Abhilfe schafft nur das Anlegen einer weiteren Regel, hierbei aber wieder Obacht, die zusätzliche Regel sollte keine Meldungen „durchlassen“, die die andere Regel ebenfalls „durchlässt“, sonst gibt es wieder doppelte Mails!

Somit kann auch die eigene Konfiguration des NC Schuld daran sein, dass man manche Meldungen doppelt erhält, z.B. weil es mehrere Regeln gibt, die vorsehen eine bestimmte Meldung zu übertragen. Dies passiert z.B. dann, wenn man eine Ereignisbenachrichtigungsregel hat und eine Alarmbenachrichtigungsregel, die beide eine bestimmte Meldung „durchlassen“. Jede Regel ist also wie ein separater „Übertrager“ zu betrachten, denn jede Regel sendet seine eigenen Nachrichten unabhängig von anderen bestehenden Regeln. Demnach ist es auch nicht möglich, mit zwei Regeln das Übertragen einer bestimmten Meldung auszuschließen (eine Regel erlaubt alles, die andere schließt bestimmte Meldungen aus).


Auch HBS3 kann bei einem Fehlschlag massenhaft Benachrichtigungen produzieren. So kann man bei manchen Job-Typen angeben, wie oft der Job nach einem Fehlschlag neu gestartet werden soll (default = 5). Dabei wird eine Benachrichtigung für jeden Fehlversuch versendet, bei 6 Jobs dessen Ziel nicht erreichbar war und somit alle fehlschlugen hatte ich also meinen Spaß mit 30 Mails.


Ich hatte es in den Beispielen bereits angedeutet: Man muss die Texte für die Schlüsselwortfilter nicht mühsam manuell eintragen, sondern kann das bequem aus der Meldungsübersicht machen.


nc_addfilter1.PNG


Dabei kann man auswählen, ob man eine neue Regel erstellen möchte, oder das Schlüsselwort einer bestehenden Regel hinzufügt.


nc_addfilter2.PNG


Anschließend gelangt man zur entsprechenden Regel und kann einstellen, ob dieses Schlüsselwort inkludiert oder exkludiert werden soll.


[EPILOG]
Spätestens nachdem ich zwei Mal von Eigenheiten des NC berichten musste dürfte auch klar sein, dass das NC nicht zuletzt wegen seiner unterschiedlichen Benachrichtigungsarten durchaus schwer zu verstehen ist. Es ist dadurch einfach sehr unübersichtlich aufgebaut, wodurch man sich schnell ein ungewolltes Verhalten einfangen und manches Verhalten kaum erklären kann, sodass man hier schnell verzweifelt. Auch die Tatsache, dass der Schlüsselwortfilter innerhalb einer Regel es nur erlaubt Schlüsselwörter entweder zu inkludieren oder zu exkludieren macht die Erstellung von individuellen Regeln sehr kompliziert, sodass man über mehrere Regeln in zwei Benachrichtigungsarten arbeiten muss.


Es ist also ratsam, möglichst wenig Anforderungen an die zu übermittelnden Nachrichten zu stellen um es nicht allzu kompliziert zu machen. Mein Tipp: Eine Alarmbenachrichtigungsregel, die über sämtliche Fehler und Warnungen informiert, wenigstens die möchte doch jeder erhalten, bei Bedarf können hier Schlüsselwörter exkludiert werden. Sollten zusätzlich bestimmte Info-Benachrichtigungen erwünscht sein, würde ich diese in einer separaten Alarmbenachrichtigungsregel erfassen, die auch wirklich nur diese Schlüsselwörter „durchlässt“. Ereignisbenachrichtigungsregeln würde ich nur dann verwenden, wenn es anders nicht möglich ist.



Wie das NC einem mitteilt, dass der Biervorrat zur Neige geht, habe ich noch nicht herausgefunden, aber dieser Gefahr bin ich momentan glücklicherweise nicht ausgesetzt, also… cheers! :beer: