Zusammengehörige Ereignisse in Sitzungen gruppieren

Gruppieren Sie Ereignisse, die kontextabhängig in Sitzungen verknüpft sind, in denen Sie Ereignisfolgen und die Ergebnisse dieser Ereignisfolgen beobachten können. Gewinnen Sie Einblick in die Benutzeraktivität und Netzaktivität, indem Sie die Abfolge der Ereignisse beobachten, die in einer Sitzung auftreten.

Informationen zu dieser Task

Sie können Ereignisse verwenden, um Ihnen mitzuteilen, was ein Benutzer zu einem bestimmten Zeitpunkt getan hat, aber Sie können transaktionsorientierte Sitzungen verwenden, um Ihnen mitzuteilen, was der Benutzer vor und nach einem Ereignis getan hat. Transaktionen geben Ihnen vollständige Details wie einen Kauf im Internet oder einen nicht autorisierten Anmeldeversuch.

Die Sitzungs-ID ist eindeutig und wird Ereignissen in derselben Sitzung zugeordnet. Sie definieren die Sitzung auf der Basis von Parametern wie Zeit, Benutzername, Anmeldung oder anderen Kriterien. Sie verwenden die Klausel SESSION BY, um die eindeutigen Sitzungen zu erstellen.

Verwenden Sie beispielsweise die transaktionsorientierten Sitzungen, um die folgenden Tasks auszuführen:
  • Definieren Sie eine Benutzeraktivität auf der Basis von Webzugriffsereignissen, die eine eindeutige Kombination von Aktivitäten enthält.
  • Gruppieren Sie Ereignisse nach einer bestimmten Benutzerverhaltenssitzung, z. B. Websitebesuche, Downloads oder gesendete E-Mails.
  • Zeichnen Sie auf, wann sich Benutzer bei Ihrem Netz anmelden und abmelden und wie lange sie sich für anmelden. Die Abmeldung schließt die zugehörige Transaktion, die von der Anmeldung eingeleitet wird.
  • Wählen Sie eine Aktivität aus, die Sie verfolgen möchten, und definieren Sie die Kriterien für die Sitzungsaktivität.

Vorgehensweise

  1. Verwenden Sie zum Erstellen von Sitzungen die Klausel SESSION BY im folgenden Format.

    SESSION BY <TimeExpression> <AQL_expression_list> BEGIN <booleanExpression> END <booleanExpression>

    In der folgenden Tabelle werden die Sitzungsparameter beschrieben.

    Tabelle 1.
    Sitzungsparameter Beschreibung
    Zeit <Zeitausdruck > Zeit
    <AQL_Ausdruck_Liste> AQL-Ausdrucksliste
    BEGIN <booleanExpression> Startet eine neue Sitzung
    END <booleanExpression > Die Klausel END ist optional und wird zum Beenden der Sitzung verwendet.
    SessionId wird geändert, wenn sich ein AQL-Ausdruckswert ändert oder wenn BEGIN oder END booleanExpression auf TRUE gesetzt ist.
  2. Gehen Sie wie folgt vor, um ein Beispiel zu testen:
    1. Um die Seite mit der IBM® QRadar® -API-Dokumentation aufzurufen, klicken Sie im Menü Hilfe auf Interaktive API für Entwickler.
    2. Klicken Sie auf 8.0 oder die höchste Version, um das Menü zu erweitern.
    3. Klicken Sie Auf /ariel > /searches.
    4. Klicken Sie auf die Registerkarte Beitrag .
    5. Geben Sie Ihre AQL-Abfrage im Feld Wert für den Parameter query_expression ein.
      Beispiel:
      Select sessionID, DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss')
      start_time, username, sourceip, category from events
      into <your_Cursor_Name> where username is not null 
      SESSION BY starttime username, sourceip
      BEGIN category=16001 
      start '2016-09-14 14:20' stop '2016-09-14 14:50'

      <your_cursor_name> ist ein beliebiger Name, den Sie für die Ergebnisausgabe verwenden wollen.

    6. Klicken Sie auf Ausprobieren.

      Wenn die Abfrage ohne Fehler ausgeführt wird, lautet der Antwortcode 201.

    7. Klicken Sie auf /ariel > /searches > > /{search_id} > /results

      Die Seite 8.0 -GET-/ariel/searches/{search_id}/results wird geöffnet.

    8. Geben Sie im Feld Wert für den Parameter search_id <your_cursor_name> ein.
    9. Wählen Sie text/table als MIME-Typ aus.
    10. Klicken Sie auf Ausprobieren.
      Tabelle 2. Abfrageergebnisse
      sessionID start_time (Startzeit) Benutzername sourceip Kategorie
      1 14.09.2016, 14:42:03 Uhr Admin 9.23.121.97 16003
      1 14.09.2016, 14:42:09 Uhr Admin 9.23.121.97 16003
      2 14.09.2016, 14:42:10 Uhr Admin 127.0.0.1 16003
      2 14.09.2016, 14:42:11 Uhr Admin 127.0.0.1 16003
      3 14.09.2016, 14:42:27 Uhr Joe_Blogs 9.23.121.98 16001
      4 14.09.2016, 14:44:11 Uhr Joe_Blogs 9.23.121.98 16001
      5 14.09.2016, 14:44:35 Uhr Mit Rootberechtigung 127.0.0.1 4017
      5 14.09.2016, 14:44:35 Uhr Mit Rootberechtigung 127.0.0.1 3014
      5 14.09.2016, 14:44:55 Uhr Mit Rootberechtigung 127.0.0.1 4017
      5 14.09.2016, 14:44:55 Uhr Mit Rootberechtigung 127.0.0.1 3014

      Die Kategorien stellen bestimmte Aktivitäten in Ihren Ereignisprotokollen dar. Für jede Änderung der Werte für den Benutzernamen und die Quellen-IP-Adresse wird eine neue Sitzung gestartet (siehe sessionid 2 und sessionid 5).

      Außerdem wird eine neue Sitzung für die Kategorie 16001 erstellt, die in sessionid 3 und sessionid 4 auftritt.

Beispiel

In diesem Beispiel werden Ereignisse zurückgegeben und nach eindeutiger Sitzungs-ID gruppiert, wobei sich der Benutzer joe_blogs anmeldet und einen Prozess zwischen 16:00 Uhr und 23:30 Uhr am 25. November startet.

select sessionId,DATEFORMAT(starttime,'YYYY-MM-dd HH:mm:ss') 
start_time,username,sourceip,category from events into <cursor_name> 
where username='joe_blogs' 
SESSION BY starttime username, sourceip 
BEGIN category=16001 
END category=16003 
start '2016-11-25 16:00' 
stop '2016-11-25 23:30'

Eine Sitzung wird gestartet, wenn Sie ein Ereignis empfangen, bei dem der BEGIN-Ausdruck erfüllt ist ODER das vorherige Ereignis die Sitzung beendet.

Eine Sitzung wird beendet, wenn Sie ein Ereignis erhalten, bei dem der Ausdruck END wahr ist ODER das nächste Ereignis eine neue Sitzung startet.

Die Ereigniskategorie 16001 gibt ein Benutzeran-oder -abmeldeereignis an der Konsole an und die Ereigniskategorie 16003 gibt an, dass ein Benutzer einen Prozess eingeleitet hat, wie z. B. das Starten einer Sicherung oder das Generieren eines Berichts. Eine Liste der Ereigniskategorien enthält das Handbuch IBM QRadar Administration Guide.