Přeskočit obsah

Konfigurace Parseru LogMan.io

Nejprve je potřeba specifikovat, ze které knihovny se mají načítat deklarace, může to být buď ZooKeeper nebo Soubor.

Také každá běžící instance parseru musí vědět, které skupiny načíst z knihoven, viz níže:

# Deklarace

[declarations]
library=zk://zookeeper:12181/lmio/library.lib ./data/declarations
groups=cisco-asa@syslog
include_search_path=filters/parser;filters/parser/syslog
raw_event=event.original
count=count
tenant=tenant
timestamp=end

groups - názvy skupin, které budou použity z knihovny, oddělené mezerami; pokud skupina je umístěna v podsložce, použijte jako oddělovač lomítko, např. parsers/cisco-asa@syslog

Pokud je knihovna prázdná nebo nejsou specifikovány skupiny, všechny události, včetně jejich kontextových položek, budou uloženy do Kafka tématu lmio-others a zpracovány Dispatcherem LogMan.io, jako by nebyly parsovány.

include_search_path - specifikuje složky pro hledání YAML souborů, které budou později použity v příkazu !INCLUDE (výraz jako !INCLUDE myFilterYAMLfromFiltersCommonSubfolder) v deklaracích, oddělené ;. Pokud se po lomítku uvede hvězdička *, budou všechny podsložky rekurzivně zahrnuty. !INCLUDE příkaz očekává název souboru bez cesty a bez přípony jako vstup. Chování je podobné atributu -I při sestavování C/C++ kódu.

raw_event - název pole vstupní zprávy logu (aka raw)

tenant - název pole pro tenant/klienta

count - název pole pro počet událostí, výchozí hodnota je 1

timestamp - název pole atributu časového razítka

Dále je potřeba vědět, která Kafka témata použít pro vstup a výstup, pokud bylo parsování úspěšné nebo neúspěšné. Je také potřeba nakonfigurovat připojení ke Kafce, aby bylo jasné, ke kterým Kafka serverům se připojit.

# Kafka připojení

[connection:KafkaConnection]
bootstrap_servers=lm1:19092;lm2:29092;lm3:39092

[pipeline:ParsersPipeline:KafkaSource]
topic=collected
# group_id=lmioparser

# Kafka výstupy

[pipeline:EnrichersPipeline:KafkaSink]
topic=parsed

[pipeline:ParsersPipeline:KafkaSink]
topic=unparsed

Poslední povinná sekce specifikuje, které Kafka téma použít pro informace o změnách v lookupech (tj. referenčních seznamech) a který ElasticSearch instance je má načítat.

# Trvalé úložiště lookup

[asab:storage]  # tato sekce je použita pro lookupy
type=elasticsearch

[elasticsearch]
url=http://elasticsearch:9200

# Update pipelines pro lookupy

[pipeline:LookupChangeStreamPipeline:KafkaSource]
topic=lookups

[pipeline:LookupModificationPipeline:KafkaSink]
topic=lookups

Instalace

Docker Compose

  lmio-parser:
    image: docker.teskalabs.com/lmio/lmio-parser
    volumes:
      - ./lmio-parser:/data