Konfigurace parseru LogMan.io
Nejprve je třeba určit, ze které knihovny se mají načítat deklarace, což může být buď ZooKeeper, nebo File.
Každá spuštěná instance parseru také musí vědět, které skupiny má načíst z knihoven, viz níže:
# Deklarace
[deklarace]
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=počet
tenant=tenant
timestamp=end
groups
- názvy skupin, které mají být použity z knihovny, oddělené mezerami; pokud je skupina
se nachází v podsložce složky, použijte jako oddělovač lomítko, např. parsers/cisco-asa@syslog
Pokud je knihovna prázdná nebo skupiny nejsou zadány,
jsou všechny události, včetně jejich kontextových položek, vynechány
do tématu lmio-others
Kafka a zpracovány dispečerem LogMan.io.
protože nebyly analyzovány.
include_search_path
- určuje složky pro vyhledávání souborů YAML, které budou později použity ve výrazu !INCLUDE
(například !INCLUDE myFilterYAMLfromFiltersCommonSubfolder) v deklaracích, oddělených znakem ;.
Uvedením hvězdičky *
za lomítkem v cestě budou rekurzivně zahrnuty všechny podadresáře.
Výraz !INCLUDE očekává jako vstup název souboru bez cesty a bez přípony.
Chování je podobné atributu -I
include při sestavování kódu v jazyce C/C++.
raw_event
- název pole vstupní zprávy protokolu událostí (také známé jako raw).
tenant
- název pole nájemce/klienta, do kterého je ukládána informace
count
- název pole, do kterého se ukládá 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á témata Kafky se mají použít na vstupu a výstupu, jestliže parsování bylo úspěšné nebo neúspěšné. Je třeba také nakonfigurovat připojení Kafka aby se vědělo, ke kterým serverům Kafka se má připojit.
# Připojení Kafka
[connection:KafkaConnection]
bootstrap_servers=lm1:19092;lm2:29092;lm3:39092
[pipeline:ParsersPipeline:KafkaSource]
topic=collected
# group_id=lmioparser
# Kafka sinks
[pipeline:EnrichersPipeline:KafkaSink]
topic=parsed
[pipeline:ParsersPipeline:KafkaSink]
topic=unparsed
Poslední povinná sekce určuje, které téma Kafky se má použít pro informace o změnách ve vyhledávání (tj. seznamy odkazů) a která instance ElasticSearch se mají načíst.
# ``Persistentní úložiště pro vyhledávání
[asab:storage] # tato sekce se používá v lookups
type=elasticsearch
[elasticsearch]
url=http://elasticsearch:9200
# Aktualizovat vyhledávací pipelines
[pipeline:LookupChangeStreamPipeline:KafkaSource]
topic=lookups
[pipeline:LookupModificationPipeline:KafkaSink]
topic=lookups
Instalace
Docker Compose
lmio-parser:
docker.teskalabs.com/lmio/lmio-parser
volumes:
- ./lmio-parser:/data