Konfigurace LogMan.io Receiveru¶
LogMan.io Receiver vyžaduje následující závislosti:
- Apache ZooKeeper
- NGINX (pro produkční nasazení)
- Apache Kafka
Model¶
Chcete-li aplikaci spustit, zahrňte ji do modelu a klikněte na tlačítko Aplikovat.
define:
type: rc/model
services:
lmio-receiver:
- <node> # Nahraďte názvem uzlu
Příklad¶
Toto je minimalistický příklad konfigurace LogMan.io Receiveru:
[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
[lifecycle]
hot=/data/ssd/receiver
warm=/data/hdd/receiver
cold=/data/nas/receiver
Apache ZooKeeper¶
Určete umístění serveru Zookeeper v clusteru.
[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
Nápověda
Pro neprodukční nasazení je možné použít jediný server Zookeeper.
Životní cyklus¶
Každá fáze životního cyklu musí být specifikována, obvykle určením cest v souborovém systému.
[lifecycle]
hot=/data/ssd/receiver
warm=/data/hdd/receiver
cold=/data/nas/receiver
tasks_limit=6
Název fáze životního cyklu (tj. 'hot', 'warm', 'cold') nesmí obsahovat znak '_'.
Podrobnější informace naleznete v kapitole Životní cyklus.
Možnost tasks_limit určuje maximální počet současně běžících úkolů životního cyklu na tomto uzlu. Výchozí hodnota je 6.
Varování
Neměňte cesty životního cyklu poté, co příjemce již uložil data. Změna cest se nebude vztahovat zpětně a příjemce nebude schopen najít data pro fázi životního cyklu.
Webové API¶
Přijímač poskytuje dvě webová rozhraní API: veřejné a soukromé.
Veřejné webové API¶
Veřejné webové API je navrženo pro komunikaci se sběrateli.
[web:public]
listen=3080
Výchozí port veřejného webového API je tcp/3080.
Tento port je navržen tak, aby sloužil jako NGINX upstream pro připojení od sběračů. Jedná se o doporučené produkční nastavení.
Samostatné veřejné webové API¶
Můžete provozovat lmio-receiver bez NGINX v samostatném neprodukčním nastavení.
Varování
Nepoužívejte tento režim pro produkční nasazení.
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 samo-podepsaný 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é webové API¶
[web]
listen=0.0.0.0 8950
Výchozí port soukromého webového API je tcp/8950.
Certifikační autorita¶
Příjemce automaticky vytváří Certifikační autoritu používanou pro poskytování kolektoru.
Artefakty CA jsou uloženy v Zookeeperu 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
Možnost auto_approve automatizuje proces registrace sběrače, každý přijatý CSR je automaticky schválen, když je nastaveno na yes.
Webový socket¶
Výchozí konfigurace websocketu (pro kolektory)
[websocket]
timeout=30
compress=yes
max_msg_size=4M
Apache Kafka¶
Připojení k Apache Kafka lze nakonfigurovat:
[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092
Pokud konfigurace není přítomna, pak se události nepřeposílají do Apache Kafka.
Archiv¶
Archiv je ve výchozím nastavení povolen. Chcete-li deaktivovat funkci archivu, nastavte možnost archiv na ne.
[general]
archive=yes
Metriky¶
Přijímač vytváří vlastní telemetrii a také přeposílá telemetrii od sběračů do nakonfigurovaného úložiště telemetrických dat, například InfluxDB.
[asab:metrics]
...
Podepisovací klíče¶
Podepisovací klíč se používá k digitálnímu podepisování nepropracovaných archivů protokolů.
Můžete specifikovat křivku EC, která se má použít pro podpisové klíče. Výchozí je prime256v1, také známá jako secp256r1.
[signing]
curve=prime256v1