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ř. clo a whois (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.