Přeskočit obsah

Knihovna v TeskaLabs LogMan.io

Knihovna obsahuje deklarace pro analyzátory, obohacovače, korelátory, šablony pro e-maily a instantní zprávy, dashboardy, zprávy a další obsah TeskaLabs LogMan.io.

Organizace knihovny

Knihovna je organizována do složek s položkami, podobně jako soubory v souborovém systému.

Následující příklad ilustruje organizaci knihovny se třemi základními složkami /Baselines/, /Dashboards/ a /Parsers/:

/Baselines/
    Dataset.yaml
    Host.yaml
    User.yaml

/Dashboards/
    Linux/
        Common/
            Overview.json

/Parsers/
    Linux/
        Auditd/
            10_parser.yaml
            20_enricher.yaml
            30_mapping_ECS.yaml
        Common/
            10_parser.yaml
            20_parser_process.yaml
            30_parser_message.yaml

Pravidla pro cesty knihovny

Vnitřně (v konfiguraci mikroservis atd.) musí cesty knihovny splňovat tato pravidla:

  • Každá cesta MUSÍ začínat znakem "/", včetně kořenové cesty. Používají se pouze absolutní cesty, např. /Parsers/Microsoft/Exchange/.
  • Cesta složky MUSÍ končit znakem "/", např. /Parsers/Microsoft/Exchange/.
  • Cesta položky MUSÍ končit příponou (např. ".txt", ".json", ...), např. /Parsers/Microsoft/Exchange/10_parser.yaml
  • Název složky NESMÍ obsahovat ".". Název položky NESMÍ začínat ".".

Note

Uživatel nemůže vytvářet nové složky v nejvyšší složce /. Některé složky umožňují uživateli přidávat/ upravovat/ mazat soubory a složky uvnitř nich, zatímco některé to neumožňují. Každá složka knihovny má svá vlastní pravidla pro to.

Některé složky knihovny umožňují pouze specifické přípony souborů.

Příklad: Složka /Parsers/ umožňuje vytváření nových složek a pravidel pro analýzu končících na .yaml uvnitř.

Složka /Homepage/ neumožňuje přidávat další položky (protože existuje pouze jedna domovská stránka).

Složka /Alerts/Workflow/ neumožňuje vytváření nových složek uvnitř, zatímco umožňuje přidávání nebo mazání existujících pracovních postupů upozornění.

Vrstvy knihovny

Knihovna je organizována do vrstev. Každá vrstva knihovny se odkazuje na jeden zdroj souborů knihovny a konkrétní technologii úložiště. Vrstvy knihovny jsou "naskládány" do jednoho pohledu (překryty), což spojuje obsah každé vrstvy do jednoho sjednoceného prostoru. Toto vrstvení umožňuje kombinovat obsah z různých zdrojů (tzv. poskytovatelů) do jedné knihovny. Vrstvy knihovny jsou zpočátku konfigurovány v produktu během instalace. Neexistuje žádný limit na počet naskládaných vrstev knihovny.

Vrstvy knihovny

Schéma: Příklad nastavení vrstev knihovny, uživatel uvidí položky v zeleném rámečku.

Příklad konfigurace implementující výše uvedené schéma.

Knihovna je konfigurována buď centrálně pomocí ASAB Maestro, nebo v každém konfiguračním souboru mikroservisu.

[knihovna]
poskytovatelé:
    zk://
    libsreg+https://libsreg1.example.com,libsreg2.example.com/my-library#v24.11
    git+https://github.com/john/awesome_project.git#deployment
    libsreg+https://vendor.example.com/common-library
  • Vrstva 0 je v Apache ZooKeeper, znovu využívající konfiguraci ZooKeeper z části [zookeeper].
  • Vrstva 1 je "my-library" distribuovaná pomocí registru knihoven.
  • Vrstva 2 je z Gitu (nebo konkrétněji z GitHubu), sledující větev "deployment".
  • Vrstva 3 je "společná knihovna" poskytovatele.

Zapisovatelná vrstva

Vrstva 0 je jediná zapisovatelná vrstva. Je určena k vytváření a úpravě vlastního obsahu. Uživatel může upravovat obsah této vrstvy pomocí editoru "Knihovna" v uživatelském rozhraní.

Vyšší vrstvy jsou pouze pro čtení, určené pro jednosměrnou distribuci obsahu knihovny do nasazení.

Pokud uživatel upraví položku, která je přítomna ve vrstvách pouze pro čtení, je uložena ve vrstvě 0, což přepisuje položku se stejnou cestou na vyšších vrstvách. Toto je mechanismus, jak mohou uživatelé měnit obsah dodaný společnými knihovnami a podobně.

Vrstva 0 je dále rozdělena na cíle, což může být globální cíl pro obsah, který je dostupný pro celé nasazení, nebo nájemní cíl, který ukládá obsah pro konkrétní nájemce. To znamená, že obsah specifický pro nájemce, jako jsou Parsers nebo Dashboards, je uložen ve vrstvě 0, v cíli "nájemce".

Typy vrstev knihovny

Každá vrstva knihovny je dodávána prostřednictvím poskytovatele.

Apache ZooKeeper

Vrstva uložená lokálně v technologii Apache ZooKeeper. Je to distribuovaná a redundantní vrstva prostřednictvím konsensuálního mechanismu v ZooKeeperu. Tato vrstva je typickou volbou pro zapisovatelnou vrstvu 0.

Konfigurační prefix: zk:/.

Note

Administrátoři mohou také použít nástroj ZooNavigator k prozkoumání a úpravě obsahu vrstvy ZooKeeper.

Repozitář knihoven

Obsah v této vrstvě je poskytován prostřednictvím distribučního bodu specifikovaného URI. Distribuční bod je server nebo veřejné cloudové úložiště přístupné přes HTTPS. Je to vrstva pouze pro čtení. Distribuce přes repozitář knihoven je preferovaný způsob distribuce obsahu. Obsah vrstvy je automaticky aktualizován, takže pokud je aktualizovaný obsah dostupný na serverech repozitáře knihoven, bude distribuován do knihoven v nasazeních.

Konfigurační prefix: libsreg:/.

Příklad: libsreg+https://libsreg1.example.com/my-library.

Verze

Tento poskytovatel podporuje verzování. Verze je specifikována v fragmentové části URL (po symbolu #):

Příklad: libsreg+https://libsreg1.example.com/my-library#v24.11

Verze mohou být statické (tj. v24.11, neměnící se po jejím vydání) nebo rolling (tj. production nebo main, změny jsou nepřetržitě propagovány do distribučního bodu a tím do nasazení).

Tip

Verzování je navrženo tak, aby fungovalo s CI/CD procesem na publikátorovi obsahu knihovny. Typicky je "hlavní" nebo zlatá kopie knihovny uložena v Gitu na platformě CI/CD a je nasazena do distribučního bodu automatizací CI/CD.

Odolnost

Tento poskytovatel podporuje odolné dodávání obsahu. Můžete specifikovat více než jeden distribuční server v konfiguraci. TeskaLabs LogMan.io bude iterovat na další specifikované servery, pokud požadavek selže.

Příklad: libsreg+https://libsreg1.example.com,libsreg2.example.com/my-library.

Git

Vrstva, která poskytuje (pouze pro čtení) obsah z Git repozitáře. Je určena pro nepřetržitou dodávku obsahu z Git serveru, jako je GitHub nebo GitLab.

Konfigurační prefixy: git+https:/, git+http:/ nebo git:/.

Verze v Gitu

Tento poskytovatel podporuje verzování. Verze je specifikována v fragmentové části URL (po symbolu #):

Příklad: git+https://github.com/john/awesome_project.git#deployment

Výchozí verze je nastavena v konkrétním Git repozitáři. Typické hodnoty jsou master nebo main. Používá se, když není poskytnut žádný fragment.

Verze mohou být statické (tj. v24.11, neměnící se po jejím vydání) nebo rolling (tj. production nebo main, změny jsou nepřetržitě propagovány do distribučního bodu a tím do nasazení).

Souborový systém

Vrstva uložená v souborovém systému.

Warning

Jelikož je souborový systém lokální pro uzel, tento typ vrstvy není vhodný pro použití v clusterech.

Konfigurační prefixy: file:/ nebo /.. (jak v absolutních cestách souborového systému).

Microsoft Azure Storage

Vrstva, která poskytuje (pouze pro čtení) obsah z kontejneru umístěného v Microsoft Azure Storage.

Konfigurační prefix: azure+https:/

Note

Pokud není úroveň veřejného přístupu kontejneru nastavena na "Veřejný přístup", pak musí být vytvořena "Politika přístupu" s oprávněním "Číst" a "Seznam" a "Shared Access Signature" (SAS) dotazovací řetězec musí být přidán do URL v konfiguraci:

[knihovna]
poskytovatelé: azure+https://ACCOUNT-NAME.blob.core.windows.net/BLOB-CONTAINER?sv=2020-10-02&si=XXXX&sr=c&sig=XXXXXXXXXXXXXX

Povolení a zakázání obsahu

Jakákoli položka obsahu knihovny může být globálně nebo specificky pro nájemce zakázána. Zakázáním souborů mohou administrátoři upravit obsah dostupný uživatelům konkrétního nájemce.

Obsah může být povolen/zakázán z obrazovky "Knihovna" nebo pomocí souboru /.disabled.yaml umístěného ve vrstvě 0.

Společná knihovna LogMan.io

Společná knihovna LogMan.io je distribuovaný obsah, který se nachází na nejvyšších vrstvách knihovny. Reprezentuje výchozí obsah, poskytovaný TeskaLabs nebo partnery.

Plnotextové indexování

Obsah knihovny (všechny vrstvy) je automaticky indexován, aby uživatelé mohli rychle vyhledávat konkrétní obsah.

Další informace

Technické podrobnosti lze také nalézt zde https://docs.teskalabs.com/asab.