Přeskočit obsah

Použití Lucene Query Syntax

Pokud ukládáte data do Discover obrazovky v TeskaLabs LogMan.io, musíte pro dotazování dat používat Lucene Query Syntax.

Zde jsou některé rychlé tipy pro použití Lucene Query Syntax, ale můžete také vidět úplnou dokumentaci na webové stránce Elasticsearch nebo navštívit tento tutoriál.

Lucene Query Syntax můžete použít při tvorbě dashboardů, filtrování dat v dashboardech a při hledání logů v Průzkumník.

Základní dotazové výrazy

Hledání pole message s jakoukoli hodnotou:

message:*

Hledání hodnoty delivered v poli message:

message:delivered

Hledání fráze Email was delivered v poli message:

message:"Email was delivered"

Hledání jakékoli hodnoty v poli message, ale NE hodnoty delivered:

message:* -message:delivered

Hledání textu delivered kdekoli ve hodnotě v poli message:

message:"*delivered*"

Toto může vrátit výsledky zahrnující:

message: delivered
message: not delivered
message: delivered with delay

Tip

Doporučujeme používat uvozovky "..." kolem vašich vyhledávacích termínů, zejména při hledání frází nebo hodnot obsahujících mezery, speciální znaky nebo IP adresy. Uvádění do uvozovek zajišťuje, že dotaz odpovídá přesné frázi nebo hodnotě, jak bylo zamýšleno, a pomáhá se vyhnout neočekávaným výsledkům způsobeným prioritou operátorů nebo tokenizací.

Typy Elasticsearch

Elasticsearch ukládá data do polí se specifickými typy, jako jsou keyword (pro přesné textové hodnoty), number (pro celá nebo reálná čísla), ip (pro IP adresy) a geo_point (pro geografické souřadnice). Typ pole určuje, jak můžete dotazovat.

  • keyword: Používá se pro přesné shody (např. event.outcome:success).
  • number: Podporuje dotazy v rozsahu (např. source.port:[10000 TO 20000]).
  • ip: Používá se pro adresy IPv4 a IPv6. Můžete hledat konkrétní IP nebo rozsah/podsíť (např. source.ip: "192.168.1.0/24").
  • geo_point: Používá se pro souřadnice zeměpisné šířky/délky (pokročilé dotazy).

Úplnou referenci naleznete zde.

Dotazování čísel:

Pro hledání rozsahu portů:

source.port:[10000 TO 20000]

Dotazování IP adres:

Pro hledání konkrétní IPv4 adresy:

source.ip: "192.168.1.10"

Pro hledání IPv4 adresy v rámci podsíti (CIDR notace):

source.ip: "192.168.1.0/24"

Pro hledání IPv6 adresy v rámci podsíti (CIDR notace):

source.ip: "2a01:9ce0:0:1:7ec2:55ff:fe25::/64"

Tip

Použijte nástroje jako ip address guide pro převod mezi rozsahy IP adres a CIDR notací.

Kombinování dotazových výrazů

Použijte booleovské operátory pro kombinování výrazů:

AND - kombinuje kritéria

OR - alespoň jedno z kritérií musí být splněno

Použití závorek

Použijte závorky, když je třeba seskupit více položek dohromady, aby vytvořily výraz.

Příklady seskupených výrazů:

Hledání logů, kde buď dataset je linux a zdrojová IP je v podsíti 107.10.0.0/28, nebo cílová IP je ve stejné podsíti a výsledek události je "failure":

(event.dataset:"linux" AND source.ip:"107.10.0.0/28") OR
(destination.ip:"107.10.0.0/28" AND event.outcome:"failure")

Příklad ze skutečného světa:

Hledání logů, kde dataset je linux a zdrojová IP je v podsíti 10.0.0.0/24, nebo cílová IP je ve stejné podsíti a akce události je "blocked":

(event.dataset:"linux" AND source.ip:"10.0.0.0/24") OR
(destination.ip:"10.0.0.0/24" AND event.action:"blocked")