Konfigurieren von Verhältniswarnungen

Sie können ein Verhältnis zwischen zwei Protokollabfragen berechnen und einen Alarm auslösen, wenn das Verhältnis einen bestimmten Schwellenwert erreicht.

Beispiele für die Verwendung können sein:

Betrieblicher Zustand: Überwachen Sie die Anzahl der ausgehenden Antworten auf eingehende Anfragen oder das Verhältnis zwischen bestimmten Fehlercodes und der Gesamtzahl der Fehler.

Marketing: Überwachen Sie das Verhältnis zwischen dem Verkehr aus bestimmten Regionen und dem Gesamtverkehr nach regionalen Kampagnen.

Sicherheit: Überwachen Sie das Verhältnis von abgelehnten Anfragen, bestimmten Verwaltungsvorgängen oder Anfragen aus gesperrten Netzwerkdomänen im Vergleich zu allen Anfragen.

Voraussetzungen

  • Erfahren Sie mehr über Warnmeldungen in IBM Cloud Logs. Weitere Informationen finden Sie unter Alarmierung.
  • Überprüfen Sie, ob Sie eine Event Notifications Instanz haben, die sich im selben Konto befindet wie Ihre IBM Cloud Logs Instanz und ob Sie die Erlaubnis haben, Ressourcen in der Event Notifications Instanz zu konfigurieren.
  • Überprüfen Sie, ob die ausgehende Integration zwischen der Instanz IBM Cloud Logs und der Instanz Event Notifications konfiguriert ist. Weitere Informationen finden Sie unter Konfigurieren einer ausgehenden Integration für die Verbindung.

Verwaltung von Warnmeldungen starten

Führen Sie die folgenden Schritte aus:

  1. Klicken Sie in der Konsole auf das Navigationsmenü-Symbol Navigationsmenü-Symbol > Ressourcenliste.
  2. Wählen Sie Ihre Instanz von IBM Cloud Logs aus.
  3. Klicken Sie in der IBM Cloud Logs Navigation auf das Warnungen Symbol > Verwaltung von Warnungen.
  4. Klicken Sie auf Neuer Alarm.

Wählen Sie die Art der zu konfigurierenden Meldung

Führen Sie die folgenden Schritte aus:

  1. Wählen Sie den Alarmtyp. Weitere Informationen finden Sie unter Warntypen.

  2. Führen Sie im Abschnitt Details die folgenden Schritte aus:

    1. Geben Sie einen Namen ein.

      • Die maximale Länge des Namens beträgt 4096 Zeichen.
    2. [Optional] Geben Sie eine Beschreibung ein.

      • Die maximale Länge der Beschreibung beträgt 4096 Zeichen.
    3. [Optional] Fügen Sie eine oder mehrere Beschriftungen hinzu.

      Labels sind Schlüssel:Wert-Paare, die Sie später für eine schnelle Suche verwenden können.

Geben Sie die Protokolle an, die anhand der Filterkriterien analysiert werden sollen

Führen Sie die folgenden Schritte aus, um die Protokolle festzulegen, die anhand der Filterkriterien analysiert werden sollen:

  1. Geben Sie eine Lucene Suchabfrage an, um die Protokolle zu spezifizieren, die als Teil des Alerts zurückgegeben werden.

    Sie können eine Abfrage definieren, die auf der Grundlage einer Freitextzeichenfolge filtert. Um beispielsweise eine Warnung auszulösen, wenn POST-Anfragen mit einem Rückgabecode von 403 identifiziert werden, können Sie "POST 403" als Suchanfrage eingeben. Die Abfrage sucht nach Protokollen, die den Wert 403 und POST enthalten.

    Sie können eine Abfrage definieren, die Protokolle filtert, bei denen ein bestimmtes Feld mit dem Wert in der Abfrage übereinstimmt. Sie können zum Beispiel eine Abfrage definieren, um nach dem Wert Produktion im Feld Umgebung zu suchen: environment:"production"

    Sie können eine Abfrage definieren, die Protokolle filtert, bei denen ein bestimmtes Feld mit einem Bereich von numerischen Werten übereinstimmt, indem Sie das Format [START_VALUE TO END_VALUE] verwenden. Um zum Beispiel nach Protokollen zu suchen, die 2xx Statuscodes für ein Feld RC enthalten, können Sie die Abfrage verwenden: rc.numeric:[400 TO 499]

    Sie können eine Abfrage definieren, die Protokolle filtert, bei denen ein bestimmtes Feld einem regulären AusdruckRegEx) entspricht. Umschließen Sie den RegEx mit /. Sie können beispielsweise eine Abfrage definieren, um nach verschiedenen Regionen zu suchen, wie z. B. west-europe-1, west-europe-2, west-us-1 in einer Feldregion: region:/west-(europe|us)-[12]/

    Sie können komplexe Abfragen definieren, die die booleschen Operatoren AND, OR und NOT verwenden. Sie können zum Beispiel eine Abfrage definieren wie environment:"production" AND status.numeric:[400 TO 499] NOT region:/west-(europe|us)-[12]/

  2. Fügen Sie eine zusätzliche Filterung der Protokolle hinzu, indem Sie 1 oder mehrere Anwendungen auswählen.

  3. Fügen Sie eine zusätzliche Filterung der Protokolle hinzu, indem Sie 1 oder mehrere Subsysteme auswählen.

  4. Fügen Sie eine zusätzliche Filterung der Protokolle hinzu, indem Sie 1 oder mehrere Protokollabschnitte auswählen.

    Gültige Werte: Debug, Verbose, Info, Warning, Errorund Critical.

Abfragen spezifizieren

Geben Sie die beiden Abfragen an, deren Ergebnisse zur Berechnung des Verhältnisses verwendet werden sollen. Für jede Abfrage:

  1. Für den Abfragealias geben Sie einen aussagekräftigen Namen für Ihre Abfrage an. Der Abfragealias wird in Ihre Warnmeldungen aufgenommen.

  2. Geben Sie Ihre Anfrage ein. Ihre Abfrage kann Regex enthalten.

  3. Geben Sie an, ob Sie Ihre Abfrage auf bestimmte Anwendungen und Teilsysteme anwenden wollen oder ob sie für alle gelten soll.

  4. Geben Sie an, ob Ihre Abfrage auf bestimmte Schweregrade oder auf alle Schweregrade angewendet werden soll.

Beispielhafte Abfragen

Im Folgenden finden Sie Beispiele für Abfragekombinationen.

Beispiel 1: Ermitteln Sie das Verhältnis zwischen Fehlercode 504 und der Gesamtzahl der empfangenen Antwortcodes. Ungewöhnlich hohe Quoten können auf betriebliche Probleme hinweisen.

  • Abfrage 1: status:504
  • Abfrage 2: _exists_:status

Beispiel 2: Unter der Annahme, dass Adressen außerhalb von 172.xxx.xxx.xxx eingeschränkt sind, könnte ein abnormales Verhältnis von eingeschränktem Verkehr zum gesamten Verkehr auf einen Angriff hindeuten.

  • Abfrage 1: NOT client_addr:/172\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/
  • Abfrage 2: _exists_:client_addr

Beispiel 3: Berechnet, wie viele Anfragen von allen erfolgreichen Anfragen nicht erfolgreich beantwortet wurden. Ein überdurchschnittlich hoher Wert kann auf betriebliche Probleme hinweisen.

  • Abfrage 1: request_status:success
  • Abfrage 2: response_status:rejectrequest

Geben Sie die Auslösebedingung an

Geben Sie die auslösende Bedingung an, die anhand der Daten ausgewertet wird, die für diesen Alert zur Analyse herangezogen werden.

In Alarm wenn: Abfrage 1 / Abfrage 2 gleich, müssen Sie auswählen, ob der Alarm ausgelöst werden soll, wenn die Abfrage innerhalb des definierten Zeitfensters mehr oder weniger als die Schwellenzahl übereinstimmt.

  • Wählen Sie More than threshold, um benachrichtigt zu werden, wenn das Verhältnis zwischen den Abfrageergebnissen größer als der gewählte Schwellenwert ist.

  • Wählen Sie Less than threshold, um benachrichtigt zu werden, wenn das Verhältnis zwischen den Abfrageergebnissen kleiner als der gewählte Schwellenwert ist.

Wenn Sie die Bedingung Kleiner als der Schwellenwert verwenden, haben Sie die Möglichkeit, nicht erkannte Werte zu verwalten.

Unerkannte Werte treten auf, wenn eine Permutation eines Alarms "Unterhalb des Schwellenwerts " nicht mehr gesendet wird, was zu einer mehrfachen Auslösung des Alarms führt (für jedes Zeitfenster, in dem er nicht gesendet wurde).

Wenn Sie ein Alert mit nicht erkannten Werten anzeigen, haben Sie die Möglichkeit, diese Werte manuell zu löschen oder einen Zeitraum auszuwählen, nach dem die nicht erkannten Werte automatisch gelöscht werden. Sie können auch die Auslösung bei nicht erkannten Werten deaktivieren, um das Senden von Warnmeldungen sofort zu beenden, wenn ein nicht erkannter Wert auftritt.

Auslösung von Ausschreibungen bei Unendlichkeit

Wenn das zweite Abfrageergebnis einen Nullwert ergibt, wäre das berechnete Verhältnis eine unendliche Zahl.

Sie können festlegen, ob der Alarm bei dieser Bedingung ausgelöst werden soll oder nicht, indem Sie die Option Bei Unendlichkeit nicht auslösen aktivieren oder deaktivieren.

Unter Gruppieren nach können Sie bis zu 2 JSON-Felder konfigurieren, deren Werte aggregiert werden und bestimmen, wann ein Alarm ausgelöst wird.

  • Eine Warnung wird ausgelöst, wenn einer der aggregierten Werte innerhalb des angegebenen Zeitraums über dem im Abschnitt Filterbedingungen konfigurierten Schwellenwert liegt.

  • Ein Alert wird ausgelöst, wenn die Bedingungsschwelle für einen bestimmten aggregierten Wert innerhalb des angegebenen Zeitrahmens erreicht wird.

  • Wenn Sie 2 Werte konfigurieren, werden übereinstimmende Protokolle zuerst nach dem übergeordneten Feld und dann nach dem untergeordneten Feld aggregiert. Eine Warnung wird ausgelöst, wenn der Schwellenwert die eindeutige Kombination aus übergeordnetem und untergeordnetem Merkmal erfüllt.

Konfigurieren Sie die Benachrichtigungsdetails

Führen Sie die folgenden Schritte aus:

  1. Konfigurieren Sie Benachrichtigung alle, um festzulegen, wie oft Sie ein Ereignis erhalten möchten, sobald der Alarm ausgelöst wurde. Standardmäßig ist sie auf 0 Stunden und 10 Minuten eingestellt.

  2. Aktivieren Sie Automatisch auflösen, um ein Ereignis zu erhalten, wenn das Ereignis aufgelöst wurde.

    Wenn die Bedingung des Alarms keine Ereignisse mehr auslöst, wird das Ereignis, das ursprünglich ausgelöst wurde, als gelöst markiert.

  3. Aktivieren Aktivieren Sie den Phantom-Modus, um anzuzeigen, dass es sich bei dieser Meldung um eine Phantom-Meldung handelt.

    Ein Phantom Alert dient als Baustein für Flow Alerts.

    Ein Phantom-Alarm löst keine unabhängigen Ereignisbenachrichtigungen aus.

    Wenn Sie diese Option aktivieren, wird der Abschnitt Benachrichtigungen aus der Alarmdefinition entfernt.

  4. Fügen Sie eine Integration hinzu.

    Sie müssen eine ausgehende Integration definiert haben, um eine Integration hinzufügen zu können. Weitere Informationen finden Sie unter Konfigurieren der Integration mit dem Event Notifications.

Festlegen eines Zeitplans und der zu protokollierenden Inhalte

Führen Sie die folgenden Schritte aus:

  1. Legen Sie im Abschnitt Zeitplan einen Zeitplan fest, der steuert, wann dieser Alarm aktiviert wird. Sie können bestimmte Tage und Uhrzeiten auswählen.

  2. Legen Sie im Abschnitt Inhalt der Benachrichtigung fest, ob Sie eine Musterprotokollzeile oder nur einige Felder in das ausgelöste Ereignis aufnehmen möchten.

    Wählen Sie bestimmte JSON-Schlüssel aus, die in die Warnmeldung aufgenommen werden sollen, oder lassen Sie dieses Feld leer, um den vollständigen Protokolltext in die Warnmeldung aufzunehmen:

    • Option 1: Leer lassen, um eine Protokollzeile einzuschließen, die den Filterbedingungen des Alarms entspricht.

    • Option 2: Geben Sie JSON-Schlüssel an, um ausgewählte Felder im Format von Schlüssel:Wert-Paaren aufzunehmen. Beachten Sie, dass Ihre Protokolldatensätze im JSON-Format vorliegen müssen, damit Sie Felder hinzufügen können.

      JSON-Schlüssel, die ein . in ihrem Namen enthalten, können nicht als ausgewählte Felder verwendet werden.

    • Option 3: Geben Sie einen JSON-Pfad als Filter an.

Wenn eine Warnung ausgelöst wird, gibt es Beschränkungen für die Datenmenge, die in das Ereignis aufgenommen wird. Weitere Informationen zu diesen Einschränkungen finden Sie unter Datenumfang.

Speichern Sie die Alarmkonfiguration

Führen Sie die folgenden Schritte aus:

  1. Überprüfen Sie die Ausschreibung.

    Klicken Sie auf Überprüfen, um die Daten auszuwerten und herauszufinden, wie oft der Alarm in den letzten 24 Stunden die Kriterien erfüllt hat.

    Verify wertet nur die Daten in der Prioritätserkenntnisse aus. Wenn Ihr Alert so konfiguriert ist, dass er bei Daten ausgelöst wird, die in der Analysieren und per Alert warnen verfügbar sind, ist diese Funktion nicht verfügbar.

  2. Klicken Sie auf Alert erstellen.

Überprüfung der Ausschreibung

Lösen Sie einen Alarm aus. Sobald ein Alarm ausgelöst und verarbeitet wurde, sendet das System über verschiedene Kanäle wie E-Mail, Slack, SMS oder integrierte Incident-Management-Plattformen Benachrichtigungen an die entsprechenden Benutzer oder Teams. Sie können dann die Seite Vorfälle aufrufen, um Informationen über die ausgelösten Alarme zu erhalten. Weitere Informationen finden Sie unter Verwaltung ausgelöster Alarme in IBM Cloud Logs.