Konfigurace nové instance LogMan.io Parseru
Vytvoření nové instance parseru pro nový zdroj dat (soubory, vyhledávání, SysLog atd.) je třeba provést následující tři kroky:
- Vytvoření nového tématu Kafka, do kterého se budou načítat shromážděná data.
- Konfigurace přidružených instancí parseru LogMan.io v úložišti site-repository.
- Nasazení
Vytvoření nového tématu Kafka, do kterého se načtou shromážděná data
Nejprve je třeba vytvořit nové téma shromážděných událostí.
Témata sbíraných událostí jsou specifická pro každý typ zdroje dat a nájemce (zákazníka). Standard pro pojmenování takových témat Kafka je následující:
collected-<tenant>-<type>
kde tenant je název tenantu psaný malými písmeny a typ je typ zdroje dat. Mezi příklady patří např:
collected-railway-syslog
collected-ministry-files
collected-johnandson-databases
collected-marksandmax-lookups
Shromážděné téma pro všechny nájemce může mít následující formát:
collected-default-lookups
Vytvoření nového tématu Kafky:
1.) Vstupte do libovolného kontejneru Kafka pomocí docker exec -it o2czsec-central_kafka_1 bash
.
2.) Pomocí následujícího příkazu vytvořte téma pomocí /usr/bin/kafka-topics
:
/usr/bin/kafka-topics --zookeeper lm1:12181,lm2:22181,lm3:32181 --create --topic collected-company-type -partitions 6 --replication-factor 1
Počet oddílů závisí na očekávaném množství dat a počtu instancí LogMan.io Parseru. Protože ve většině nasazení jsou v clusteru tři běžící servery, doporučuje se použít alespoň tři oddíly.
Konfigurace přidružených instancí LogMan.io Parser v úložišti site-repository
Zadejte úložiště webu s konfiguracemi pro cluster LogMan.io. Další informace o úložišti site repository naleznete v části Názvoslovné standardy v sekci Reference.
Poté v každé složce serveru (např. lm1, lm2, lm3) vytvořte následující položku v adresáři
docker-compose.yml
:
<tenant>-<type>-lmio-parser:
restart: on-failure:3
image: docker.teskalabs.com/lmio/lmio-parser
network_mode: host
depends_on:
- kafka
- elasticsearch-master
volumes:
- /<tenant>-<type>/lmio-parser:/data
- ../lookups:/lookups
- /data/hdd/log/<tenant>-<type>/lmio-parser:/log
- /var/run/docker.sock:/var/run/docker.sock
Nahraďte <tenant>
názvem nájemce/zákazníka (například železnice) a <type>
typem dat (například vyhledávání),
příklady zahrnují:
railway-lookups-lmio-parser
default-lookups-lmio-parser
hbbank-syslog-lmio-parser
Pokud je položka Docker Compose obsažena v souboru docker-compose.yml
, postupujte podle následujících kroků:
1.) V každé složce serveru (lm1, lm2, lm3) vytvořte složku <tenant>-<type>
.
2.) V adresářích <tenant>-<type>
vytvořte adresář lmio-parser
.
3.) Ve vytvořené složce lmio-parser
vytvořte soubor lmio-parser.conf
.
4.) Upravte soubor lmio-parser.conf
a zadejte následující konfiguraci:
[asab:docker]
name_prefix=<server_name>-
socket=/var/run/docker.sock
# Deklarace
[deklarace]
library=zk://lm1:12181,lm2:22181,lm3:32181/lmio/library.lib ./data/declarations
groups=<group>
raw_event=raw_event
count=počet
tenant=tenant
timestamp=@timestamp
# API
[asab:web]
listen=0.0.0.0 0
[lmioparser:web]
listen=0.0.0.0 0
# Protokolování
[logging:file]
path=/log/log.log
backup_count=3
rotate_every=1d
# Připojení Kafka
[connection:KafkaConnection]
bootstrap_servers=lm1:19092,lm2:29092,lm3:39092
[pipeline:ParsersPipeline:KafkaSource]
topic=collected-<tenant>-<type>
group_id=lmio_parser_<tenant>_<type>
# Kafka sinks
[pipeline:EnrichersPipeline:KafkaSink]
topic=lmio-events
[pipeline:ParsersPipeline:KafkaSink]
topic=lmio-others
[pipeline:ErrorPipeline:KafkaSink]
topic=lmio-others
[asab:zookeeper]
servers=lm1:12181,lm2:22181,lm3:32181
path=/lmio/library.lib
[zookeeper]
urls=lm1:12181,lm2:22181,lm3:32181
servers=lm1:12181,lm2:22181,lm3:32181
path=/lmio/library.lib
# Vyhledat trvalé úložiště
[asab:storage] # tato sekce se používá v lookups
type=elasticsearch
[elasticsearch]
url=http://<server_name>:9200/
username=<secret_username>
password=<secret_password>
# Aktualizovat vyhledávací pipelines
[pipeline:LookupChangeStreamPipeline:KafkaSource]
topic=lmio-lookups
group_id=lmio_parser_<tenant>_<type>_<server_name>
[pipeline:LookupModificationPipeline:KafkaSink]
topic=lmio-lookups
# Metriky
[asab:metrics]
target=influxdb
[asab:metrics:influxdb]
url=http://lm4:8086/
db=db0
username=<secret_username>
password=<secret_password>
kde nahradí každý výskyt:
<group>
se skupinou deklarací parseru načtenou v ZooKeeperu;
Další informace naleznete v části Reference v této dokumentaci v sekci Knihovna.
<server_name>
názvem kořenové složky serveru, například lm1, lm2, lm3
<tenant>
s názvem vašeho nájemce, například hbbank, default, railway atd.
<type>
s typem vašeho zdroje dat, jako jsou vyhledávání, syslog, soubory, databáze atd.
<secret_username>
a <secret_password>
s přihlašovacími údaji k technickému účtu ElasticSearch a InfluxDB,
které si můžete prohlédnout v dalších konfiguracích v úložišti webu.
Další informace o tom, co jednotlivé části konfigurace znamenají, naleznete v části Konfigurace v postranní nabídce.
Nasazení
Chcete-li nasadit nový parser, proveďte následující kroky:
1.) Přejděte na každý ze serverů LogMan.io (lm1, lm2, lm3).
2.) Proveďte git pull
ve složce úložiště webu, která by měla být umístěna v adresáři /opt
.
3.) Spusťte docker-compose up -d <tenant>-<type>-lmio-parser
pro spuštění instance LogMan.io Parseru.
4.) Nasaďte a nakonfigurujte SyslogNG, LogMan.io Ingestor atd. pro odesílání shromážděných dat do collected-<tenant>-<type>
tématu Kafka.
4.) Podívejte se do logů ve složce /data/hdd/log/<tenant>-<type>/lmio-parser
na případné chyby k ladění.
(nahraďte odpovídajícím způsobem <tenant>
a <type>
).
Poznámky
Chcete-li vytvořit datový tok pro vyhledávání, použijte jako typ vyhledávání
a podívejte se do sekce Vyhledávání v postranní nabídce.
abyste správně vytvořili skupinu deklarací parsování.