Minlog2 Opslag leveres som et projekt bestående af 3 webservice løsninger.
Opslagsdelen afvikles hos cNSP og kræver adgang til MariaDB med database "minlog2" og "stamdata".
I det følgende beskrives forudsætninger, samt skridt ved første installation og efterfølgende installationer.
Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til Docker, WildFly applikation server, MariaDB og java.
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
Minlog2 Opslag består af et Docker images som pushes til NSP Docker Registry under navnet:
lookup
Minlog2 Opslag leveres samtidig som et sæt af Docker Compose filer i mappen https://svn.nspop.dk/svn/components/minlog/trunk/compose.
For release x.y.z af Minlog2 Opslag findes Docker Compose filerne i mappen https://svn.nspop.dk/svn/components/minlog/tags/release-x.y.z/compose
Compose mappen indeholder 5 undermapper:
| Mappe | Indhold |
|---|---|
| configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Er delt op i 3 undermapper consumer lookup, Her laves konfigugration til Minlog2 Opslag registration |
| database | Her ligger databasefiler som det forventes at driften lægger på en NSP database |
| development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
| test | Her ligger en Docker Compose fil der kan starte Minlog2 i en standalone test konfiguration. |
| release | Her ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne. |
I mappen https://svn.nspop.dk/svn/components/minlog/trunk/compose/configuration/lookup findes følgende konfigurationsfiler:
| Fil | Indhold |
|---|---|
| minlog2-ds.xml | Konfiguration af datasourses |
| minlog2-stam-ds.xml | Konfiguration af datasourses mod stamdata |
| minlog2/minlog2-lookup.properties | Konfiguration af Minlog2 Opslag servicen |
| minlog2/idws-keystore.jks | Keystore |
| minlog2/idws.properties | Konfiguration af idws |
| minlog2/kommuner.json | Kommune opslysninger |
| log4j/log4j.properties | Log opsætning af Minlog2 Opslag servicen |
| log4j/nspslalog-minlog2.properties |
Filerne skal tilrettes til de forskellige miljøer hvorpå de installeres. Filerne indeholder en konfiguration der passer i en standalone test konfiguration.
Nedenstående er en yderligere beskrivelse af minlog2/minlog2-lookup.properties og minlog2/idws.properties.
Filen minlog2/minlog2-lookup.properties indeholder følgende indstillinger:
| Property | Beskrivelse |
|---|---|
sql.max.logevents.allowed.in.query=10000 | angiver det maks antal logevent der kan søges på ved lookup. Overskrides denne, returneres en fejl med besked om at indsnævre søgningen |
federation=test | angiver hvilken SOSIFederation der initialiseres. Værdien kan være ”test” eller ”prod” |
days.to.remain.persisted=730 | angiver hvor mange dage entries findes i DB. Værdien 730 er 2 år herefter slettes de i natlig kørsel |
sql.delete.batch.size=10000 | angiver størrelse på batch chunks ved sletning. Værdien 10000 angiver LIMIT på delete statement |
sql.stamdata.notfound.error.message="Stamdata kunne ikke fremsøges" | angiver fejlbesked hvis stamdata ikke kan fremsøges |
sleep.after.batch=10000 | angiver hvor mange ms der skal ventes inden næste "sql.delete.batch.size" slettes. |
cleanupjob.runtime.max=25000 | angiver hvor lang tid hvert job må bruge. For at undgå timeout på HTTP-kald, er værdien pt. sat til 25 sekunder (25000 millisekunder) |
minutes.to.log.own.data=15 | angiver hvor mange minutter der går mellem log af egne data indenfor samme døgn. |
skip.count.remaining=false | angiver om optælling af manglende oprydning skal springes over eller ej. True betyder, at den springer optællingen over. |
parentalCustody.age.limit=15 | angiver aldersgrænse for hvornår en borger ikke længere kan claime forældremyndighed på et barn |
audience=https://minlog | Minlogs audience streng |
powerofattorney.privileges=urn:dk:nspop:sts:minlog2:read | Tilladte fuldmagtsstrenge. Hvis flere adskilles de af komma. Eksempel: urn:dk:nspop:sts:minlog2:read,urn:dk:nspop:sts:minlog:read |
whitelisting.cache.ttl=PT1M | Time to live for whitelisting-cachen. Default 1 min. |
personinformation.url | angiver URL til PersonInformation servicen |
personinformation.errorcount.duration | angiver hvor lang tid tilbage der skal tælles fejl fra PersonInformation servicen (ifm. /monitor endpointet). Angives som duration i ISO-8601 formattet. Default er PT10M |
personinformation.error.tolerance | Angiver antal fejl der tolereres fra PersonInformation servicen før /monitor endpointet angiver servicen som ikke tilgængelig. Default er 0 |
personinformation.maxTotalConnections | Angiver totale antal HttpClients forbindelser der kan åbnes |
personinformation.defaultMaxConnectionsPerRoute | Angiver antal HttpClients forbindelser der kan åbnes pr. rute |
sores.endpoint | angiver endpoint for SORES-servicen |
sores.error.tolerance | angiver antal fejl der tolereres fra SORES servicen før status endpointet angiver servicen som ikke tilgængelig. |
sores.errorCountDuration | angiver en specificering af hvor lang tid tilbage der skal tælles fejl fra SORES servicen. Angives som duration i ISO-8601 formattet. |
sores.maxTotalConnections | Angiver totale antal HttpClients forbindelser der kan åbnes |
sores.defaultMaxConnectionsPerRoute | Angiver antal HttpClients forbindelser der kan åbnes pr. rute |
yderinformation.endpoint | angiver endpoint for YderInformation-servicen |
yderinformation.error.tolerance | angiver antal fejl der tolereres fra servicen før status endpointet angiver servicen som ikke tilgængelig. |
yderinformation.errorCountDuration | angiver en specificering af hvor lang tid tilbage der skal tælles fejl fra servicen. Angives som duration i ISO-8601 formattet. |
yderinformation.maxTotalConnections | Angiver totale antal HttpClients forbindelser der kan åbnes |
yderinformation.defaultMaxConnectionsPerRoute | Angiver antal HttpClients forbindelser der kan åbnes pr. rute |
minlog2.endpoint.lookup=http://localhost8081/minlog2-lookup | Endpoint som bruges af DKS at angive Lookup service url, som bruges af DCC. |
minlog2.endpoint.lookupid=http:/localhost:8081/minlog2-lookupid | Endpoint som bruges af DKS at angive LookupId service url, som bruges af DCC. |
Filen minlog2/idws.properties indeholder nedenstående properties.
| Property | Beskrivelse |
|---|---|
org.apache.ws.security.crypto.merlin.keystore.type | Keystore type. Skal være jks. |
org.apache.ws.security.crypto.merlin.keystore.password | Password til keystore. |
org.apache.ws.security.crypto.merlin.keystore.alias | Keystore alias. Skal typisk være sosi:alias_system. |
org.apache.ws.security.crypto.merlin.file | Sti til keystore. |
| federation | Hvilket federation der skal anvendes. Skal enten være test eller prod. |
Der er kommet en ny tabel ifm. SDS-7688 til whitelisting. Den skal oprettes første gang whitelisting sættes i drift. Script til dette findes i git repository under:
compose/database/07_whitelisting.sql
Minlog2 Opslag startes og stoppes med Docker Compose kommandoer.
For en standalone test af Minlog2 Opslag hentes "compose" mappen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i mappen "test".
På et NSP miljø hentes "compose" mappen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i mappen "release".
Installationen kan kontrolleres ved at kalde den indbyggede monitor del:
http://<server>:<port>/minlog2-lookup/monitor?details http://<server>:<port>/minlog2-lookupid/monitor?details |
Status bør være ok.