Knihovna TeskaLabs LogMan.io
Knihovna deklarací je složka na filesystému, která obsahuje deklarace pro analyzátory, obohacovače, korelátory a další YAML elementy jako jsou soubory !INCLUDE
.
Knihovna má předepsanou strukturu:
library/
<parser group 1>/
p01_<parser>.yaml
p02_<parser>.yaml
e01_<enricher>.yaml
e02_<enricher>.yaml
include/
head_parser.yaml
spec_parser.yaml
...
test/
test01.yaml
...
<parser group 2>/
<parser group 2>/
<correlator group 1>/
<correlator group 2>/
...
include/
Skupina parserů je sada deklarací parserů a obohacovačů, které pracují v rámci stejného typu parseru.
Název vzoru
Názvový vzor např. p01_<...>.yaml
je doporučený, protože poskytuje kontrolu nad pořadím provádění a vizuální rozlišení mezi parsery a obohacovači.
Pořadí načítání souborů do pipeline je abecední, tedy parser s názvem p01_<...>.yaml
bude načten
do pipeline před parserem p02_<...>.yaml
.
Zahrnutí deklarací v knihovně
Deklarace, jako jsou deklarace parserů, mohou zahrnovat další deklarace z knihovních složek include pomocí výrazu !INCLUDE.
Include adresáře jsou specifikovány v konfigurační volbě include_search_path
pro LogMan.io Parser, Correlator apod.:
[declarations]
include_search_path=filters;filters/firewall;filters/common;filters/authentication
Přidáním hvězdičky *
za lomítko budou všechny podsložky rekurzivně zahrnuty,
takže uživatel nemusí každou z nich specifikovat v možnosti include_search_path
:
[declarations]
include_search_path=filters/*
Ve výchozím nastavení jsou také implicitně zahrnuty následující include cesty:
library/<group>/include
je implicitním umístěním pro !INCLUDE
YAML soubory používané v rámci skupiny parserů.
library/include
je umístění pro !INCLUDE
YAML soubory používané globálně.
Deklarace pojmenovaná predicate_filter.yaml
, umístěná v jedné z adresářů include search path, může být zahrnuta následujícím způsobem:
predicate:
!AND
- !EQ
- !ITEM EVENT Type
- UseIt
- !INCLUDE predicate_filter
Pro více informací viz sekce Cascade Parser a Window Correlator.
Jednotkové testy
library/<* group/test
je umístění jednotkových testů pro danou skupinu, viz lmio-parser
a lmio-correlator
pro více podrobností o přístupu k jednotkovým testům knihovny.
Knihovna je navržena tak, aby byla snadno spravovatelná verzovacími systémy jako Git nebo Subversion.