Konfigurace přijímače
Přijímač vyžaduje následující závislosti:
- Apache ZooKeeper
- NGINX (pro nasazení v produkčním prostředí)
- Apache Kafka
Příklad
Toto je minimalistický příklad konfigurace přijímače LogMan.io:
[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
[lifecycle]
hot=/data/ssd/receiver
warm=/data/hdd/receiver
cold=/data/nas/receiver
Zookeeper
Určete umístění serveru Zookeeper v clusteru.
[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
Hint
Pro neprodukční nasazení je možné použít jeden server Zookeeper.
Lifecycle
Je potřeba specifikovat jednotlivé fáze lifecycle, obvykle určením cest k souborovým systémům.
[lifecycle]
hot=/data/ssd/receiver
warm=/data/hdd/receiver
cold=/data/nas/receiver
task_limit=20
Název fáze lifecycle (tj. 'hot', 'warm', 'cold') nesmí obsahovat znak "_".
Podrobnosti naleznete v kapitole Lifecycle.
Volba task_limit
určuje maximální počet současně běžících úloh lifecycle na tomto uzlu. Výchozí hodnota je 20.
Warning
Neměňte cesty lifecycle po té, co přijímač již data uložil. Změna cest se neprojeví retrospektivně a přijímač nebude schopen data pro danou fázi lifecycle nalézt.
Web API
Přijímač poskytuje dvě Web API: veřejné a soukromé.
Veřejné Web API
Veřejné Web API je určeno pro komunikaci se sběrači.
[web:public]
listen=3080
Výchozí port veřejného webového API je tcp/3080.
Tento port je určen k použití jako upstream NGINX pro připojení od sběračů. Jedná se o doporučené produkční nastavení.
Samostatné Veřejné Web API
Můžete provozovat lmio-receiver
bez NGINX v samostatném neprodukčním nastavení.
Warning
Nepoužívejte tento režim pro produkční nasazení.
Toto je ideální pro vývojová a testovací prostředí, protože nepotřebujete NGINX.
Toto je příklad konfigurace:
[web:public]
listen=3443 ssl:web:public
[ssl:web:public]
key=${THIS_DIR}/server-key.pem
cert=${THIS_DIR}/server-cert.pem
verify_mode=CERT_OPTIONAL
Toto je způsob, jak vygenerovat samopodepsaný serverový certifikát pro výše uvedenou konfiguraci:
$ openssl ecparam -genkey -name secp384r1 -out server-key.pem
$ openssl req -new -x509 -subj "/OU=LogMan.io Receiver" -key server-key.pem -out server-cert.pem -days 365
Soukromé Web API
[web]
listen=0.0.0.0 8950
Výchozí port soukromého webového API je tcp/8950.
Certificate Authority
Přijímač automaticky vytváří Certificate Authority používanou pro provisioning sběračů.
Artefakty CA jsou uloženy v Zookeeper ve složce /lmio/receiver/ca
.
./lmio-receiver.py -c ./etc/lmio-receiver.conf
29-Jun-2023 19:43:50.651408 NOTICE asab.application is ready.
29-Jun-2023 19:43:51.716978 NOTICE lmioreceiver.ca.service Certificate Authority created
...
Výchozí konfigurace CA:
[ca]
curve=secp384r1
auto_approve=no
Volba auto_approve
automatizuje proces registrace sběračů, každý přijatý CSR je automaticky schválen, pokud je nastavena na yes
.
WebSocket
Výchozí konfigurace WebSocketu (ke sběračům)
[websocket]
timeout=30
compress=yes
max_msg_size=4M
Apache Kafka
Připojení k Apache Kafka lze konfigurovat:
[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092
Pokud konfigurace není přítomna, pak nejsou události přeposílány do Apache Kafka.
Archive
Archivace je ve výchozím nastavení povolena. Nastavte volbu archive na no
, abyste archivovací funkci vypnuli.
[general]
archive=yes
Metriky
Přijímač produkuje vlastní telemetrii a také přeposílá telemetrii od sběračů do konfigurovaného úložiště dat telemetrie, jako je InfluxDB.
[asab:metrics]
...
Signing keys
Podpisový klíč se používá k digitálnímu podpisu archivů raw logů.
Můžete určit, jaká EC křivka bude použita pro podpisové klíče.
Výchozí hodnota je prime256v1
, také známá jako secp256r1
.
[signing]
curve=prime256v1