Přeskočit obsah

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.