Přeskočit obsah

Deklarace

Deklarace popisují, jak by měl být událost analyzována. Jsou uloženy jako YAML soubory v knihovně. LogMan.io Parsec interpretuje tyto deklarace a vytváří procesory pro analýzu.

Existují tři typy deklarací:

  1. Deklarace parseru: Parser přijímá původní událost nebo konkrétní pole částečně analyzované události jako vstup, analyzuje její jednotlivé části a ukládá je jako páry klíč-hodnota do události.
  2. Deklarace mapování: Mapování přijímá částečně analyzovanou událost jako vstup, přejmenovává názvy polí a nakonec převádí datové typy. Pracuje společně se schématem (ECS, CEF).
  3. Deklarace obohacení: Obohacovač doplňuje částečně analyzovanou událost o další data.

Tok dat

Typická, doporučená sekvence analýzy je řetězec deklarací:

  1. První hlavní deklarace parseru začíná řetězec a další parsery (nazývané sub-parsery) extrahují podrobnější data z polí vytvořených předchozím parserem.
  2. Poté, (jediná) deklarace mapování přejmenovává klíče analyzovaných polí podle schématu a filtruje pole, která nejsou potřebná.
  3. Nakonec deklarace obohacení doplňuje událost o dodatečná data. I když je možné použít více souborů obohacení, doporučuje se použít pouze jeden.

Tok pipeline Parsec

Pojmenování deklarací

Důležité: Konvence pojmenování

LogMan.io Parsec načítá deklarace abecedně a vytváří odpovídající procesory ve stejném pořadí. Proto vytvořte seznam souborů deklarací podle těchto pravidel:

  • Začněte všechny názvy souborů deklarací číselným prefixem:

    10_parser.yaml, 20_parser_message.yaml, ..., 90_enricher.yaml.

    Doporučuje se "nechat nějaký prostor" ve vašem číslování pro budoucí deklarace v případě, že chcete přidat novou deklaraci mezi dvě existující (např. 25_new_parser.yaml).

  • Zahrňte typ deklarace do názvů souborů: 20_parser_message.yaml spíše než 10_message.yaml.

  • Zahrňte typ schématu použitý v názvech souborů mapování a obohacení: 40_mapping_ECS.yaml spíše než 40_mapping.yaml.

Příklad:

/Parsers/MyParser/:
    - 10_parser.yaml
    - 20_parser_username.yaml
    - 30_parser_message.yaml
    - 40_mapping_ECS.yaml
    - 50_enricher_lookup.yaml
    - 60_enricher_ECS.yaml