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í:
- 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.
- 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).
- 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í:
- 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.
- Poté, (jediná) deklarace mapování přejmenovává klíče analyzovaných polí podle schématu a filtruje pole, která nejsou potřebná.
- 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.
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