Přeskočit obsah

Deklarace

Deklarace popisují, jak by měl být event parsován. Jsou uložené jako YAML soubory v Knihovně. LogMan.io Parsec interpretuje tyto deklarace a vytváří parsing procesory.

Existují tři typy deklarací:

  1. Parser deklarace: Parser přijímá původní event nebo specifické pole částečně parsovaného eventu jako vstup, analyzuje jeho jednotlivé části a ukládá je jako páry klíč-hodnota do eventu.
  2. Mapping deklarace: Mapping přijímá částečně parsovaný event jako vstup, přejmenovává názvy polí a případně převádí datové typy. Pracuje společně se schématem (ECS, CEF).
  3. Enricher deklarace: Enricher doplňuje částečně parsovaný event o další data.

Tok dat

Typický, doporučený sekvenční řetězec parsování je řetězec deklarací:

  1. První hlavní parser deklarace začíná řetězec, a další parsery (nazývané sub-parsery) extrahují detailnější data z polí vytvořených předchozím parserem.
  2. Pak následuje (jedna jediná) mapping deklarace, která přejmenuje klíče parsovaných polí podle schématu a filtruje pole, která nejsou potřeba.
  3. Nakonec enricher deklarace doplňuje event o další data. Ačkoliv je možné použít více enriových souborů, doporučuje se použít jen jeden.

Parsec pipeline schéma

Pojmenování deklarací

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

LogMan.io Parsec načítá deklarace abecedně a vytváří příslušné 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 si místo" v číslování pro budoucí deklarace, pokud budete chtít 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ého v mapping názvech souborů: 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.yaml