Přeskočit obsah

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.

/Site/model.yaml
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