Die Daten des Logging-Frameworks werden über eine (lokale) Instanz per zentraler Logstash-Instanz in einer ElasticSearch-Datenbank abgelegt und indiziert. Dies ermöglich schnelle Antwort- und Zugriffszeiten. Hier wird für Auswertungsapplikation ein grober Überblick über die Such-Funktionalität gegeben. Für eine ausführliche Dokumentation wird auf die offizielle API-Dokumentation von ElasticSearch verwiesen.

Suche

Über die Suche können Dokumente / Einträge aus ElasticSearch abgerufen werden. Dabei werden alle Treffer zurückgeliefert, die den übergebenen Suchkriterien entsprechen. Die Rückgabe erfolgt in JSON-Form (Auszug):

Dabei beinhaltet das Dokument neben Standard-Felder von ElasticSearch eben genau jene Felder, die im Datenmodell des Logging-Frameworks definiert wurden. Bei Suchanfragen sollte daher zielgerichtet auf diese Felder zurückgegriffen werden.


Beispiel-Aufruf (hier ohne Host):

GET /usage-2021.02.07/_search

Request-URL-Aufbau

GET /<target>/_search

GET /_search

POST /<target>/_search

POST /_search


Such-Parameter können entweder im Query-Parameter _q oder im request-Body übergeben werden. Wenn beide Varianten im gleichen Request verwendet werden, wird nur der _q-Parameter verwendet.

Query-Parameter (Auszug)

ParameterFunktion
_source

Liste mit Feldern, die im Ergebnis zurückgegeben werden sollen.

Standardwert: true (alle Felder werden zurückgegeben)


qSuch-String in Lucene-Syntaxoptional
sizeMaximale Anzahl an zurückzugebenden Ergebnissenoptional
sortWerte-Paare mit Feld und Reihenfolge, <feld>:<asc/desc>optional


Beispiel-Aufrufe:


AufrufErgebnis
http://localhost:9200/_search?q=SOURCE:USERLiefert alle Einträge, die im Feld "SOURCE" den Wert "USER" beinhalten.
http://localhost:9200/usage-2021.02.06/_search?q=TYPE:USER_ACTIVITY

Liefert alle Einträge des Index "usage-2021.02.06", die im Feld TYPE den Wert USER_ACTIVITY beinhalten.

http://localhost:9200/usage-2021.02.06/_search?q=TYPE:USER_SESSIONEND&size=1&sort=@timestamp:descLiefert den zeitlich letzten Eintrag aus dem Index "usage-2021.02.06", bei welchem das Feld "TYPE" den Wert "USER_SESSIONEND" hat.
  • Keine Stichwörter