Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Læseren forventes at have kendskab til ....Spring boot applikationer

Definitioner og referencer

Definition

Beskrivelse

NSPDen nationale service platform
SDSSundhedsdatastyrelsen

Komponenter

Dette dokument dækker følgende komponenter:

Daglig drift

Dette afsnit beskriver den daglige drift af systemetgm-bff.

Relaterede services

gm-bff afhænger af tilstedeværelsen af en række andre services, og ved fejl i nogle af disse vil gm-bff fejle tilsvarende. Disse services er:

  • CMS - Content Management System
  • KeyCloak til validering json web token i formatet JTP-H 
  • GM-Facade - til fremsøgning af journal data og bestilling af journal via digital post.

Konfiguration

Komponenterne GM-BFF kan afvikles i et ??? setup, som ligger under ???

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes):

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

Konfiguration af SLA-log findes i filen:

Whitelist konfiguration

Der foretages whitelisting ...

Monitorering

Til statuscheck af GM-BFF

Overvågning

GM-BFF overvåges ...

Placering af HTML overvågningsside

...

Fortolkning af HTML overvågningsside

Alle overvågningssider returnerer enten status 200 hvis de i øjeblikket kører fint, status 404 hvis servicen ikke er deployeret, .... og status 500, hvis der er opstået en fejl, og komponenten derfor ikke virker korrekt.

Overvågningstype

Som udgangspunkt overvåges følgende:

Audit log

Auditlogning foretages med ...

De forskellige ITI-håndtag logges på følgende måde:

docker setup, hvor et image bygges ved at kalde:

mvn -B spring-boot:build-image --file pom.xml
-DskipTests
-Drevision=${{ env.BUILD_ID }}
-Dspring-boot.build-image.imageName=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.BUILD_ID }}
-Dspring-boot.build-image.publish=true
-Ddocker.credentials.url=${{ env.REGISTRY }}
-Ddocker.credentials.username=${{ github.repository_owner }}
-Ddocker.credentials.password=${{ secrets.GITHUB_TOKEN }}

Bemærk, ovenstående opsætning er taget fra GitHub Action pipeline. 


Den applikationspecifikke del af GM_BFF konfigureres via filen application.yml.

Property:Beskrivelse
logging:
  level:
    ROOT: info
    org:
      springframework:
        web: debug
        security: debug
Opsætning af applikationsspecifik logningsniveau
server:
  port: 8082
  servlet:
    context-path: /gm-bff
Angivelse af ønsket port og context root.
management:
  endpoints:
    web:
      exposure:
        include: health
Eksponering af health check
spring:
Spring specifik opsætning
  application:
  name: gm-bff
Navn på applikationen
  datasource:
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/db?currentSchema=gm
  username: db
  password: db
konfiguration af forbindelse til PostgreSQL database der indeholder applikationens journal cache.  
service:

  version: @project.version@
Version tages fra maven
  gm-facade-endpoint: https://gmaf/gmaf
url til GM-Facade
  cms-endpoint: https://cms
Url til cms
  oidc:
    issuer: https://test.cloud.idm.trifork.com/auth/realms/gravid
    audience: https://audience.nspop.dk/mhd
  scope: nsp-gm-clientstate
    issuance-policy: urn:dk:sds:policy:gm-access
Konfiguration til validering af json web tokens i formatet JTP-H. 
  cache:
  cache-age: 300
  cleanup-frequency: 300000
Konfiguration af journal cache.

Levetid angives i sekunder og specificere hvor længe en given cache er gyldig inden journalen hentes via GM-Facade.

cleanup-frequency angives i millisekunder og styrer hvor mange gange oprydningsjobbet kører og sletter cache elementer - hvis levetid er udløbet - fra databasen   
meilisearch:
meilisearch-endpoint: https://meilisearch
  meili-master-key: 9ooLuYuw149G5zhWYT....
Konfiguration af meilisearch
---
spring:
  config:
    activate:
      on-profile: prod
Properties som kune er relevant for afvikling i produktionsmiljø angives her. Pt. er der ingen-



log4j konfiguration

Der logges med log4j2s default opsætning, hvor der logges til til standard out. 

SLA-log konfiguration

Der findes ingen konfiguration af SLA-log, da dette request tider logges som en del af request logs med loggeren REQUEST_LOG:

Eksempel
 {"traceId":"68c7f7186ebdf5341a477e4f02b1f9aa","spanId":"e8f08dabc6e8c95e","method":"GET","clientIp":"127.0.0.1","userAgent":"bruno-runtime/2.10.0","uri":"/gm-bff/api/v1/overview/pregnancyinfo","status":200,"elapsedMs":2106}


Derudover logges udførselstider for kald til GM-Facede og CMS på lignende vis med loggeren SUB_REQUEST_LOG:

Eksempel på logning af kald til GM-Facade
{"traceId":"68c7f7186ebdf5341a477e4f02b1f9aa","spanId":"e8f08dabc6e8c95e","method":"GET","uri":"https://gmaf/gmaf/api/2025/06/25/journal","direction":"OUTBOUND","status":200,"elapsedMs":1454}

Whitelist konfiguration

Der er ingen whitelisting. 

Monitorering

Statuscheck af GM-BFF et tilgængelig på:

/gm-bff/actuator/health

Overvågning

GM-BFF overvåges via Grafana med følgende overvågningssider:

TODO

Audit log

Der foretages ikke audit log in gm-bff, da denne udelukkende kalder NSP komponenten GM-Facade. GM-Facade videre til MHD og som kalder videre til Dokumentdelingsservicen (DDS). Audit log foretages af i både MHD og DDS og derfor foretages der ikke yderligere audit log i gm-bff.  

Standard fejlsøgning

  • Ved problemer med indlæsning af servicens konfigurationsfiler
  • (...)
  • bør man verificere at
  • ...Ved manglende logning hvor der forventes fejlbeskeder bør konfigurationsfilen (...) checkes, da logindstillingerne sættes herigennem.
  • alle påkrævede properties er sat
  • En service
  • eller et job
  • kan stoppes og startes gennem docker.

Krav til backup m.m.

Det anbefales at aktuelle konfigurationsfiler til GM-BFF er under versionskontrol og back up.


Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
15/9 2025Thomas Glæsner/TriforkUdført