Přeskočit obsah

Generické lookupy

TeskaLabs LogMan.io generické lookupy slouží k vytváření seznamů klíčů nebo dvojic klíč-hodnota. type v deklaraci v sekci define je jednoduše lookup:

---
define:
  type: lookup
  ...

Pokud jde o parsování, generické lookupy mohou být použity pouze ve standardním enricheři s výrazem !LOOKUP.

Vytváření generického lookupu

Existují vždy tři kroky pro povolení lookupů:

  1. Vytvořte deklaraci lookupu v Knihovně LogMan.io (popis lookupu)
  2. Vytvořte lookup a jeho obsah v sekci Lookupy v UI (obsah lookupu)
  3. Přidejte lookup do relevantních parsingových a/nebo korelačních pravidel v Knihovně (aplikace lookupu)

Případ použití: Uživatelský lookup

Uživatelský lookup se používá k získání informací o uživateli, jako je uživatelské jméno a email podle ID uživatele.

  1. V LogMan.io přejděte do Knihovny.

  2. V Knihovně přejděte do složky /Lookups.

  3. Vytvořte novou deklaraci lookupu pro váš lookup, třeba „userlookup.yaml“, přičemž se ujistěte, že soubor má příponu YAML.

  4. Přidejte následující deklaraci:

    define:
      type: lookup
      name: userlookup
      group: user
    
    keys:
      - name: userid
        type: str
    
    fields:
      user_name:
        type: str
      email:
        type: str
    

    Ujistěte se, že type je vždy lookup.

    Změňte name v sekci define na název vašeho lookupu.

    group se používá při procesu obohacení k nalezení všech lookupů, které sdílejí stejnou skupinu. Hodnota je jedinečný identifikátor skupiny (případ použití), zde: user.

    Do fields přidejte názvy a typy atributů lookupu. Tento příklad používá user_name a email jako řetězce.

    V současné době jsou podporovány tyto typy: str, fp64, si32, geopoint a ip.

  5. Uložte deklaraci.

  6. V LogMan.io přejděte do Lookupů.

  7. Vytvořte nový lookup se stejným názvem jako výše, tj. „userlookup“. Specifikujte ID uživatele jako klíč.

  8. Vytvořte záznamy v lookupu s ID uživatele jako klíčem a poli, jak je uvedeno výše.

  9. Přidejte následující enricheř do pravidla LogMan.io Parsec, které by mělo využívat lookup:

    define:
      type: enricher/standard
    
    enrich:
      user_name:
        !GET
        from:
          !LOOKUP
          what: userlookup
        what:
          !GET
          from: !EVENT
          what: user.id
    

    Tento vzorový enricheř získá user_name z userlookup na základě atributu user.id z parsovaného eventu.