
Die Protokollanalysefunktionen von Sumo Logic haben schon immer die wichtigsten Erkenntnisse geliefert, um Ihnen bei der Sicherung, Überwachung und Fehlerbehebung Ihrer Umgebung zu helfen. Mit unserem Query Agent, der Teil von Dojo AI ist, ist die Erstellung optimierter Protokoll-Suchen in natürlicher Sprache jetzt noch einfacher.
Query Agent arbeitet mit einer Vielzahl von Operatoren, einschließlich des Join-Operators, für Parsing, Aggregation, Datentransformation, Filterung, erweiterte Analyse und Nachschlagevorgänge. Der Join-Operator bringt die Essenz eines SQL-JOIN in Ihren Strom unstrukturierter Daten und bietet Ihnen dadurch noch mehr Flexibilität.
Was ist der Join-Operator?
Bei einem Standard-Join in relationalen Datenbanken sind die Datensätze in den zu verknüpfenden Tabellen zum Zeitpunkt der Abfrage festgelegt. Die Zuordnung von IDs in Protokollmeldungen verschiedener Tage innerhalb des Suchzeitraums führt jedoch wahrscheinlich zu einem falschen Ergebnis, da Aktionen von gestern nicht mit einem heutigen Anmeldeereignis verknüpft werden sollten.
Aus diesem Grund bietet unser Join-Operator einen festgelegten gleitenden Zeitrahmen für das Zusammenführen von Protokollnachrichten.
Im folgenden Diagramm stellen die rosa und orangefarbenen Bereiche zwei Ströme unterschiedlicher Protokollmeldungen dar. Beide enthalten ein Schlüssel-Wert-Paar, das wir vergleichen möchten, und die Nachrichten werden anhand dieses Schlüssel-Wert-Paares verknüpft, wenn beide innerhalb des durch die schwarze Box angegebenen Zeitfensters auftreten.

Der Join-Operator in der Praxis
Wenden wir das nun an. Angenommen, eine Anwendung hat sowohl reale als auch maschinell gesteuerte Benutzer. Sie möchten wissen, welche Benutzer welche sind, um mögliche maschinell gesteuerte Benutzer, die die Leistung beeinträchtigen könnten, im Auge behalten zu können.
Wie sich herausstellt, erstellen menschliche Benutzer Anfragen mit einer vergleichsweise geringen Rate, während maschinell gesteuerte Benutzer (die über eine API zugreifen) mehrere Anfragen pro Sekunde generieren können, und zwar immer unmittelbar nach dem Anmeldevorgang.
In diesen Protokollen gehen verschiedene Meldungen mit unterschiedlichen Zwecken und Werten ein. Mithilfe des Join-Operators können Sie sowohl Anmelde- als auch Anforderungsereignisse abfragen und anschließend das Zeitfenster der Abgleichlogik einschränken, um die beiden Nachrichtenströme zu kombinieren. Die beiden Unterabfragen meiner Suche suchen nach Anfrage-/Abfrageereignissen bzw. Anmeldeereignissen.
Das Matching-Fenster ist auf nur 15 Sekunden begrenzt, um Anfragen zu identifizieren, die sehr nahe am Login-Ereignis auftreten. Anschließend können Sie Benutzer herausfiltern, die innerhalb von 15 Sekunden nach dem Login weniger als zehn Anfragen gestellt haben. Das Ergebnis ist eine klare Übersicht über die Nutzer, die unmittelbar nach dem Einloggen aktiv eine große Anzahl von Anfragen über die API stellen.
Hier ist meine Beispielabfrage:
(login or (creating query)) | join (parse "Creating query: '*'" as query, "auth=User:*:" as user) as query, (parse "Login success for: '*'" as user) as login on query.user = login.user timewindow 15s | count by query_user | where _count > 10 | sort _count
Wie Sie der obigen Syntax entnehmen können, verwenden die Unterabfragen dieselbe Syntax wie Standard-Protokollsuchen und unterstützen sogar Aggregatfunktionen (Anzahl, Summe, Durchschnitt usw.), sodass Sie komplexe Ergebnisse miteinander verknüpfen und die benötigten Erkenntnisse gewinnen können.
Sumo Logic unterstützt außerdem das Zusammenführen von mehr als nur zwei Protokollströmen, sodass Sie alle Ihre bevorzugten Daten in einer einzigen Abfrage kombinieren können.
Was ist der Dojo AI Query Agent?
Das Schreiben einer Join-Abfrage mit der richtigen Syntax, dem richtigen Zeitfenster und der richtigen Matching-Logik kann knifflig sein, insbesondere wenn Sie mit mehreren Protokollströmen arbeiten. Der Query Agent vereinfacht diesen Prozess.
Der Query Agent, ein Teil unseres Teams von Dojo AI-Agenten, der über Mobot aufgerufen werden kann, übersetzt Ihre Fragen in natürlicher Sprache in Sumo Logic-Protokollsuchanfragen, um Ihnen zu helfen, mit einem Prompt optimierte Abfragen zu erstellen.
Das folgende Beispiel zeigt, wie ein Benutzer den Query Agent über Mobot auffordern kann, einen Join-Befehl zu erstellen, wodurch das Zusammenführen von Protokollen für eine Suche vereinfacht wird. Im folgenden Screenshot fordert der Benutzer den Query Agent auf, die Änderungsprotokolle eines Dienstes mit den Anwendungsprotokollen zu verknüpfen, um nach einem Statuscode zu suchen.

Zusätzlich zur Anzeige der Ergebnisse weist der Query Agent darauf hin, dass ein Join verwendet wurde, und zeigt wichtige Beobachtungen an, wie z. B. die Latenz. Er stellt außerdem den genauen Suchbefehl bereit, der im Protokollsuchbereich einfach verwendet oder geändert werden kann. Um die Suchanfrage verständlicher zu gestalten, enthält der Query Agent eine klare Erläuterung der Suche, in der die wichtigsten Komponenten und deren Zusammenhänge erläutert werden.

Schlussbemerkung
Der Join-Operator ermöglicht es Ihnen, Datensätze aus zwei oder mehr Datenströmen dynamisch zu einem einzigen Ergebnissatz zu kombinieren und funktioniert ähnlich wie ein SQL-Inner-Join. Der Join-Operator und andere Operatoren wurden durch Dojo AI-Agenten erweitert.
Erfahren Sie, wie Dojo AI Ihnen bei der Überwachung, Fehlerbehebung und Sicherung Ihrer Umgebung helfen kann. Sehen Sie es in Aktion.



