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.

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: pevaimport
  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.