2. Konfigurace
Konfigurace importní komponenty se provádí v souboru
imwhooser.yml, který se nachází v adresáři
/config/. Tento soubor obsahuje nastavení pro jednotlivé
datové zdroje, umožňuje jejich další parametrizaci,
obsahuje nastavení pro napojení na aplikaci Elza.
Komponenta je realizována pomocí frameworku Java Spring Boot, který umožňuje snadnou konfiguraci a rozšiřitelnost. Jednotlivá nastavení jsou definována také v dokumentaci k frameworku.
Soubor je ve formátu YAML. Je členěn do sekcí, jejichž význam je popsán v následujících kapitolách:
server– port webového rozhraní (viz Port)
spring.datasource– připojení k databázi komponenty (viz Databáze)
elza– napojení na aplikaci Elza (viz Elza)
management– monitorovací (management) rozhraní (viz Monitorování)
logging– úroveň a cíl logování (viz Logování)jednotlivé datové zdroje, např.
cloawhois(viz Datové zdroje)
Níže je uveden zkrácený příklad souboru imwhooser.yml. Význam
jednotlivých sekcí je podrobně popsán dále.
# Port, kde bude služba dostupná
server:
port: 8089
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/imwhooser
username: user
password: password
# Napojení na Elza
elza:
url: http://localhost:8080/services/
username: elzaimport
password: XXXXXX
batchSize: 20
scope: CAM
systemCode: CAM
send:
enabled: true
# Monitorovací (management) rozhraní
management:
endpoints:
web:
exposure:
include: health, prometheus
# Úroveň logování
logging:
level:
com.lightcomp: INFO
# Datové zdroje – konkrétní sekce dle použitého zdroje (clo, whois, …)
clo:
inputFolder: /data/imwhooser/clo
processing:
enabled: true
2.1. Port
Komponenta poskytuje webové rozhraní umožňující její monitorování a další ovládání. Komponenta běží ve výchozím nastavení na portu 8080.
Port je možné změnit v konfiguračním souboru
imwhooser.yml v sekci server:
# Port, kde bude služba dostupná
server:
port: 8088
2.2. Databáze
Komponenta používá pro ukládání dat relační databázi. Primární podporovanou databází je PostgreSQL.
# Konfigurace připojení k databázi
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/mydb
username: user
password: password
2.3. Elza
Napojení na Elza slouží k přenosu importovaných dat.
# Nastavení pro připojení k ELZA
elza:
url: http://localhost:8080
username: elzaimport
password: XXXXXX
soapLogging: false
batchSize: 20
#batchSize: 1
scope: CAM
systemCode: CAM
# zakázat přenos dat
send:
enabled: true
2.4. Monitorování
Pro monitorování běhu a stavu komponenty Imwhooser je k dispozici rozhraní
poskytující data ve formátu OpenMetrics (Prometheus). Rozhraní je dostupné
na stejném portu, na kterém běží samotná komponenta (port nastavený
v sekci server výše). V příkladech v této dokumentaci je použit port
8089; pokud je komponenta nakonfigurována na jiný port, použijte
odpovídající číslo. Způsob použití je popsán v kapitole Monitorování.
Aby byly metriky dostupné, je nutné v sekci management povolit jejich
zveřejnění (exposure). Samostatný port se zde nenastavuje – endpointy
sdílejí port komponenty.
# Monitorovací (management) rozhraní
management:
endpoint:
health:
show-details: always
endpoints:
health:
enabled: true
prometheus:
enabled: true
web:
exposure:
# zpřístupnění endpointů health a prometheus
include: health, prometheus
2.5. Logování
Úroveň logování jednotlivých částí aplikace lze nastavit v sekci logging.
Podporované úrovně jsou ERROR, INFO a DEBUG.
# Úroveň logování
logging:
level:
# logování vlastní komponenty
com.lightcomp: INFO
org.springframework.security: INFO
org.springframework.cloud: INFO
2.6. Datové zdroje
Každý datový zdroj je definován v konfiguračním souboru imwhooser.yml
v samostatné sekci. Konfigurace je specifická pro každý typ datového zdroje.