Přeskočit obsah

Knihovna TeskaLabs LogMan.io

Knihovna deklarací je složka v souborovém systému, která obsahuje deklarace pro parsery, obohacovače, korelátory a další prvky YAML, jako jsou soubory !INCLUDE.

Knihovna má předepsanou strukturu:

knihovna/
    <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á je provozována v rámci stejného typu parseru.

Vzor pojmenování

Vzor pojmenování např. p01_<...>.yaml se doporučuje, protože poskytuje kontrolu nad pořadím provádění a vizuální rozlišení mezi parsery a obohacovači. Pořadí souborů načítaných do pipeline je abecední, bude tedy načten parser s názvem p01_<...>.yaml. do pipeline před parserem p02_<...>.yaml.

Zahrnutí deklarací do knihovny

Deklarace, jako jsou deklarace parserů, mohou zahrnovat další deklarace z adresářů include knihovny pomocí výrazu !INCLUDE.

Adresáře include se zadávají v konfigurační volbě include_search_path pro LogMan.io Parser, Correlator atd.:

[deklarace]
include_search_path=filters;filters/firewall;filters/common;filters/authentication

Uvedením hvězdičky * za lomítkem budou rekurzivně zahrnuty všechny podadresáře, takže uživatel nemusí zadávat každý z nich ve volbě include_search_path:

[deklarace]
include_search_path=filters/*

Ve výchozím nastavení jsou vždy implicitně zahrnuty i následující include search path:

V tomto případě je implicitní vyhledávací cesta pro soubory YAML `!INCLUDE`, které se používají v rámci skupiny parserů. `library/include` je umístění souborů `!INCLUDE` YAML používaných globálně. Deklaraci s názvem `predicate_filter.yaml` umístěnou v jednom z adresářů vyhledávací cesty include pak lze začlenit následujícím způsobem:
predikát:
  !AND
  - !EQ
    - !ITEM EVENT Typ
    - UseIt
  - !INCLUDE predicate_filter
Další informace naleznete v částech Kaskádový parser a Window Correlator. ## Jednotkové testy `library/<* group/test` je umístění unit testu pro danou skupinu, viz `lmio-parser` a `lmio-correlator` pro více informací o tom, jak přistupovat k unit testům knihovny. Knihovna je navržena tak, aby ji bylo možné snadno spravovat pomocí systémů pro správu verzí, jako je Git nebo Subversion.