Přeskočit obsah

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