Přeskočit obsah

Konfigurace nové instance LogMan.io Parseru

Vytvoření nové instance parseru pro nový zdroj dat (soubory, vyhledávání, SysLog atd.) je třeba provést následující tři kroky:

  • Vytvoření nového tématu Kafka, do kterého se budou načítat shromážděná data.
  • Konfigurace přidružených instancí parseru LogMan.io v úložišti site-repository.
  • Nasazení

Vytvoření nového tématu Kafka, do kterého se načtou shromážděná data

Nejprve je třeba vytvořit nové téma shromážděných událostí.

Témata sbíraných událostí jsou specifická pro každý typ zdroje dat a nájemce (zákazníka). Standard pro pojmenování takových témat Kafka je následující:

collected-<tenant>-<type>

kde tenant je název tenantu psaný malými písmeny a typ je typ zdroje dat. Mezi příklady patří např:

collected-railway-syslog
collected-ministry-files
collected-johnandson-databases
collected-marksandmax-lookups

Shromážděné téma pro všechny nájemce může mít následující formát:

collected-default-lookups

Vytvoření nového tématu Kafky:

1.) Vstupte do libovolného kontejneru Kafka pomocí docker exec -it o2czsec-central_kafka_1 bash.

2.) Pomocí následujícího příkazu vytvořte téma pomocí /usr/bin/kafka-topics:

/usr/bin/kafka-topics --zookeeper lm1:12181,lm2:22181,lm3:32181 --create --topic collected-company-type -partitions 6 --replication-factor 1

Počet oddílů závisí na očekávaném množství dat a počtu instancí LogMan.io Parseru. Protože ve většině nasazení jsou v clusteru tři běžící servery, doporučuje se použít alespoň tři oddíly.

Konfigurace přidružených instancí LogMan.io Parser v úložišti site-repository

Zadejte úložiště webu s konfiguracemi pro cluster LogMan.io. Další informace o úložišti site repository naleznete v části Názvoslovné standardy v sekci Reference.

Poté v každé složce serveru (např. lm1, lm2, lm3) vytvořte následující položku v adresáři docker-compose.yml:

 <tenant>-<type>-lmio-parser:
    restart: on-failure:3
    image: docker.teskalabs.com/lmio/lmio-parser
    network_mode: host
    depends_on:
      - kafka
      - elasticsearch-master
    volumes:
      - /<tenant>-<type>/lmio-parser:/data
      - ../lookups:/lookups
      - /data/hdd/log/<tenant>-<type>/lmio-parser:/log
      - /var/run/docker.sock:/var/run/docker.sock

Nahraďte <tenant> názvem nájemce/zákazníka (například železnice) a <type> typem dat (například vyhledávání), příklady zahrnují:

railway-lookups-lmio-parser
default-lookups-lmio-parser
hbbank-syslog-lmio-parser

Pokud je položka Docker Compose obsažena v souboru docker-compose.yml, postupujte podle následujících kroků:

1.) V každé složce serveru (lm1, lm2, lm3) vytvořte složku <tenant>-<type>.

2.) V adresářích <tenant>-<type> vytvořte adresář lmio-parser.

3.) Ve vytvořené složce lmio-parser vytvořte soubor lmio-parser.conf.

4.) Upravte soubor lmio-parser.conf a zadejte následující konfiguraci:

[asab:docker]
name_prefix=<server_name>-
socket=/var/run/docker.sock

# Deklarace

[deklarace]
library=zk://lm1:12181,lm2:22181,lm3:32181/lmio/library.lib ./data/declarations
groups=<group>
raw_event=raw_event
count=počet
tenant=tenant
timestamp=@timestamp

# API

[asab:web]
listen=0.0.0.0 0

[lmioparser:web]
listen=0.0.0.0 0

# Protokolování

[logging:file]
path=/log/log.log
backup_count=3
rotate_every=1d

# Připojení Kafka

[connection:KafkaConnection]
bootstrap_servers=lm1:19092,lm2:29092,lm3:39092

[pipeline:ParsersPipeline:KafkaSource]
topic=collected-<tenant>-<type>
group_id=lmio_parser_<tenant>_<type>

# Kafka sinks

[pipeline:EnrichersPipeline:KafkaSink]
topic=lmio-events

[pipeline:ParsersPipeline:KafkaSink]
topic=lmio-others

[pipeline:ErrorPipeline:KafkaSink]
topic=lmio-others

[asab:zookeeper]
servers=lm1:12181,lm2:22181,lm3:32181
path=/lmio/library.lib

[zookeeper]
urls=lm1:12181,lm2:22181,lm3:32181
servers=lm1:12181,lm2:22181,lm3:32181
path=/lmio/library.lib

# Vyhledat trvalé úložiště

[asab:storage]  # tato sekce se používá v lookups
type=elasticsearch

[elasticsearch]
url=http://<server_name>:9200/
username=<secret_username>
password=<secret_password>

# Aktualizovat vyhledávací pipelines

[pipeline:LookupChangeStreamPipeline:KafkaSource]
topic=lmio-lookups
group_id=lmio_parser_<tenant>_<type>_<server_name>

[pipeline:LookupModificationPipeline:KafkaSink]
topic=lmio-lookups

# Metriky

[asab:metrics]
target=influxdb

[asab:metrics:influxdb]
url=http://lm4:8086/
db=db0
username=<secret_username>
password=<secret_password>

kde nahradí každý výskyt:

<group> se skupinou deklarací parseru načtenou v ZooKeeperu; Další informace naleznete v části Reference v této dokumentaci v sekci Knihovna.

<server_name> názvem kořenové složky serveru, například lm1, lm2, lm3

<tenant> s názvem vašeho nájemce, například hbbank, default, railway atd.

<type> s typem vašeho zdroje dat, jako jsou vyhledávání, syslog, soubory, databáze atd.

<secret_username> a <secret_password> s přihlašovacími údaji k technickému účtu ElasticSearch a InfluxDB, které si můžete prohlédnout v dalších konfiguracích v úložišti webu.

Další informace o tom, co jednotlivé části konfigurace znamenají, naleznete v části Konfigurace v postranní nabídce.

Nasazení

Chcete-li nasadit nový parser, proveďte následující kroky:

1.) Přejděte na každý ze serverů LogMan.io (lm1, lm2, lm3).

2.) Proveďte git pull ve složce úložiště webu, která by měla být umístěna v adresáři /opt.

3.) Spusťte docker-compose up -d <tenant>-<type>-lmio-parser pro spuštění instance LogMan.io Parseru.

4.) Nasaďte a nakonfigurujte SyslogNG, LogMan.io Ingestor atd. pro odesílání shromážděných dat do collected-<tenant>-<type> tématu Kafka.

4.) Podívejte se do logů ve složce /data/hdd/log/<tenant>-<type>/lmio-parser na případné chyby k ladění.

(nahraďte odpovídajícím způsobem <tenant> a <type>).

Poznámky

Chcete-li vytvořit datový tok pro vyhledávání, použijte jako typ vyhledávání a podívejte se do sekce Vyhledávání v postranní nabídce. abyste správně vytvořili skupinu deklarací parsování.