Přeskočit obsah

Konfigurace LogMan.io Baselineru

LogMan.io Baseliner vyžaduje následující závislosti:

  • Apache ZooKeeper
  • NGINX (pro produkční nasazení)
  • Apache Kafka
  • MongoDB se složkou /data/db namapovanou na SSD (/data/ssd/mongo/data)
  • Elasticsearch
  • SeaCat Auth
  • Knihovna LogMan.io se složkou /Baselines a schématem ve složce /Schemas

Umístění složky s daty MongoDB

Při používání Baselinera MUSÍ mít MongoDB svou složku s daty umístěnou na SSD/rychlém disku, nikoliv na HDD. Umístění složky s daty MongoDB na HDD povede ke zpomalení všech služeb, které MongoDB používají.

Příklad

Toto je nejzákladnější konfigurace požadovaná pro každou instanci LogMan.io Baselineru:

[declarations]
# /Baselines je výchozí cesta
groups=/Baselines

[tenants]
ids=default

[pipeline:BaselinerPipeline:KafkaSource]
topic=^events.tenant.*

[pipeline:OutputPipeline:KafkaSink]
topic=complex.tenant

[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181

[library]
providers=zk:///library

[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092

[elasticsearch]
url=http://es01:9200/

[mongodb.storage]
mongodb_uri=mongodb://mongodb1,mongodb2,mongodb3/?replicaSet=rs0
mongodb_database=baseliners

[auth]
multitenancy=yes
public_keys_url=http://localhost:8081/openidconnect/public_keys

Zookeeper

Specifikujte umístění serverů Zookeeperu v clusteru:

[zookeeper]
servers=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181

Hint

Pro neprodukční nasazení je možné použít jediný Zookeeper server.

Knihovna

Specifikujte cestu (cesty) ke Knihovně pro načtení deklarací:

[library]
providers=zk:///library

Hint

Protože je výchozí schéma ECS.yaml ve složce /Schemas, zvažte použití LogMan.io Common Library.

Kafka

Definujte bootstrap servery Kafka clusteru:

[kafka]
bootstrap_servers=kafka-1:9092,kafka-2:9092,kafka-3:9092

Hint

Pro neprodukční nasazení je možné použít jediný Kafka server.

Elasticsearch

Specifikujte URL hlavních uzlů Elasticsearch.

Elasticsearch je nezbytný pro používání vyhledávání, např. jako výraz !LOOKUP nebo spouštěcí mechanismus vyhledávání.

[elasticsearch]
url=http://es01:9200
username=MYUSERNAME
password=MYPASSWORD

MongoDB

Specifikujte URL MongoDB clusteru s replikou sady.

MongoDB ukládá baseliny a čítače příchozích událostí.

[mongodb.storage]
mongodb_uri=mongodb://mongodb1,mongodb2,mongodb3/?replicaSet=rs0
mongodb_database=baseliners

Auth

Sekce Auth umožňuje multitenance, což omezuje přístup k baselinám pouze na uživatele s přístupem ke specifikovanému tenantovi:

[auth]
multitenancy=yes
public_keys_url=http://localhost:8081/openidconnect/public_keys

Input

Události pro baseliny jsou čteny z Kafka témat:

[pipeline:BaselinerPipeline:KafkaSource]
topic=^events.tenant.*

Deklarace (volitelné)

Definujte cestu pro deklarace baselinu. Výchozí cesta je /Baselines a výchozí záložní schéma je /Schemas/ECS.yaml.

Pokud používáte schéma jiné než ECS (Elastic Common Schema), můžete přizpůsobit cestu ke schématu.

[declarations]
groups=/Baselines
schema=/Schemas/ECS.yaml

Tenanti

Specifikujte tenanta, pro kterého chcete vytvořit baseliny. Můžete uvést více tenantů, oddělených čárkami, ale doporučuje se mít jeden tenant pro jeden baseline.

[tenants]
ids=tenant1
tenant_url=http://localhost:8080/tenant

Doporučuje se provozovat alespoň jednu instanci Baselinera na každého tenanta. Ve většině případů je vhodná jedna instance na tenanta.

Výstup

Pokud jsou použity triggery, můžete změnit výchozí téma pro výstupní pipeline:

[pipeline:OutputPipeline:KafkaSink]
topic=complex.tenant

Web APIs

Baseliner poskytuje jedno webové API.

Webové API je navrženo pro komunikaci s uživatelským rozhraním.

[web]
listen=0.0.0.0 8999

Výchozí port veřejného webového API je tcp/8999.

Tento port je určen k tomu, aby sloužil jako upstream NGINX pro připojení od Collectors.