Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Tilrettelse af properties
Navitabs
rootSundhedsvæsenets Nationale Erstatnings-CPR (Nationalt eCPR) - Leverancebeskrivelse
includeroottrue

Indholdfortegnelse:

true
Table of Contents
outline

Introduktion og overblik

Driftvejledningen Driftsvejledningen indeholder information, som er relevant i forhold til drift af Nationalt eCPR (Herefter eCPR). Der gives en grundig introduktion til konfiguration, herunder hvilke properties der eksistereeksisterer, samt deres standard konfiguration. Dertil kommer information om hvordan systemet overvåges i form af HTTP-endpoints samt Auditlog, SLA-logning samt øvrig logning.

eCPR består af én javabaseret web-service, nemlig eCPR-service. servicen Servicen har følgende afhængihederafhængigheder: 

  1. Der kræves adgang til en MariaDB datasource
  2. National adviserings service 2.0 (NAS)
  3. Kald til (læsning fra) CPR-Enkeltopslag (SCES)
  4. Læsning fra krs-stamdata gennem et view.

Dokument historik

...

  1. 3 views

Konfiguration

Konfigurationen af eCPR sker i filerne i "compose/configuration" mappen som beskrevet i installationsvejledningen eCPR - Installationsvejledning. I det følgende gennemgås hver enkelt services servicens konfigurationsfiler i detaljer:

Konfiguration af eCPR-servicen

eCPR-servicen konfigureres overordnet i ecpr2.properties filen. Nedenfor er filens properties gennemgået i detaljer:

Overordnet konfigurationProperty

Beskrivelse

Database
spring
ecpr2.datasource.
*Dette er 4 properties der bruges til at konfigruere databasen, herunder driver class name, url, username og password
jndiDefinerer hvilken fil datasourcen er defineret i. Ønskes anden konfiguration indlægges en ny datasourcefil, og denne sti opdateres.

Dcc

dcc.endpoint

Dette er adressen til eCPR udstillet til dcc'en

Schema validering

 

schemavalidation.validate.*

Boolean der
angivre
angiver om request og/eller
respons
response skal skemavalideres

schemavalidation.fail.on.response.error

Angiver om der skal smides en fejl hvis responset ikke overholder skemaet (er skemavalid)
Lucene indexering

 

 

jobs.searchindex.maxResutMax
antallet
antal af resultater som lucene søgning kan returnere
jobs.searchindex.enabledAngiver om lucene indexeringsjobbet skal køre. Skal som udgangspunkt altid være enabled, for ellers forældes data i lucene indexet hurtigt. 
jobs.searchindex.msInitialDelayAngiver tiden fra start af deployment til første Lucene Indexerings kørsel
jobs.searchindex.msDelayBetweenAngiver hvor ofte lucene indexeringsjobbet skal køre
jobs.searchindex.InitialLoad.batchSizeNår opstarts indexeringen køres, angiver batchSize antallet af linjer, altså maximal datamængde, der indlæses ad gangen

jobs.searchindex.InitialLoad.msBetweenBatches

tiden mellem batches

jobs.searchindex.alwaysIndexFullDatabase

Angiver om alt data i databasen skal indexeres ved kørsel af lucene indexing 

Slet reserverede eCPR-numre

 

jobs.deletedReservedIDs.enabled

Hvis der reserveres en række
På reserverede eCPR-numre
, så
sættes der en udløbsdato
på disse cpr-numre
. Hvis ikke der er
indlæst data
opdateret data på et reserveret eCPR-nummer inden udløbsdatoen er overskredet, angiver denne property, om de reserverede eCPR-numre skal slettes.

jobs.deletedReservedIDs.executeEachMidnight

???
Hvornår udløbne reserverede eCPR-numre slettes, angivet som et chron-job

Export history to file

 

 

 

 

 

 

 

 

jobs.exportHistoryToFile.enabled

Angiver om export jobbet skal køre. Dette angiver altså ikke kun om export jobbet skal gemmes til en fil, men om exportHistory jobbet skal køre i det hele taget

jobs.exportHistoryToFile.initialDelay

Angiver tiden fra start af deployment til første exportHistory-job køres

jobs.exportHistoryToFile.delayBetween

Angiver tiden mellem to på hinanden følgende exportHistory jobs

jobs.exportHistoryToFile.initialLoad.batchSize

Når første exportHistory-job køres, angiver batchSize antallet af linjer, altså maximal datamængde, der indlæses ad gangen

jobs.exportHistoryToFile.initialLoad.msBeweenBatches

tiden mellem batches

temp.dir

temp.dir bliver brugt til at lagre
midlerdigige
midlertidige exportHistory filer før de bliver zippet. Bør forblive den angivne fil. 

ziptemp.dir

ziptemp.dir er en undermappe til temp.dir hvor zipfilen placeres inden den sendes

completedFileName

Navnet på zip-filen

temp.archive.dir

Denne fillokation er en undermappe til temp.dir, hvor zipfilen arkiveres efter den er sendt. 

sftp.remote.dir

SKAL SLETTES

Upload zip-file to NSP-job


 


 


 


 


 

jobs.uploadToNsp.*

Dette er tilsammen 3 properties, der konfigruerer hvorvidt exportHistory.zip-filen skal uploades til NSP samt initial delay og tiden mellem 2 jobs. 

sftp.enabled

ANgiver
Angiver om sftp-funktionaliteten af jobbet er aktiveret. Hvis denne er disabled sendes exportHistory.zip-filen ikke til nsp uanset konfigurationen af jobs.uploadToNsp.

sftp.remote.path

Denne fil angiver hvor på modtagerserveren zip-filen skal placeres

sftp.hostname

Disse 4 properties angiver hostname, port, username og password for sftp.

sftp.port

sftp.username

sftp.password


 


Logginglevel

 

logging.level.org.springframework.web

Disse to properties sætter logging level af springframeworket. Denne bør justeres til et lavt niveau inden eCPR sættes i produktion. 

Øvrige logningsniveauer er angivet i log4j konfigurationsfilen

(NAVN!?

log4j.properties (Se afsnit Konfiguration af log4j-ecpr2)

logging.level.org.springframework.security


admin.service.shouldCheckPermissions

Propertien angiver, om der skal tjekkes, at brugere har de nødvendige rettigheder for at udføre det
pågælende
pågældende kald, der er udført.

 

spring.datasource.tomcat.connection-properties

Spørg Jakob

= rewtriteBatchedSTatements

Konfiguration indstiller JDBC-forbindelsen til at omskrive batchede SQL-udtryk til én enkelt streng, hvis sat til true

Advis forwarding

 

advis.enabled

Angiver om advisering til NAS er enabled

nas.url

Angiver den endelige url til NAS

 Sosi-certifikat

sosi.*

De relevandte sosi parametre er angivet sidst i propertyfilen. For at læse mere om sosi henvises til HVOR!?

  Sosi-certifikat

sosi.sts.url

Endpoint for Secure Token Service (STS)

 

sosi.careprovider.name


Firmanavn fra systemcertifikat, som anvendes til DGWS adgang til CPR-enkeltopslag

 

sosi.careprovider.cvr

CVR-nummer fra systemcertifikat, som anvendes til DGWS adgang til CPR-enkeltopslag

 

sosi.production.federation

Angiver om det certifikat, der anvendes til adgang DGWS-adgang til CPR-enkeltopslag, er et produktionscertifikat

 

sosi.system.name

Systemnavn fra systemcertifikat, som anvendes til DGWS adgang til CPR-enkeltopslag

 

sosi.keystore.file

Navn på keystore med det systemcertifikat, som anvendes til DGWS adgang til CPR-enkeltopslag

 

sosi.keystore.password

Password til keystore med det systemcertifikat, som anvendes til DGWS adgang til CPR-enkeltopslag

 

sosi.timeout

Timeout for kald til CPR-enkeltopslag, angivet i millisekunder

 

isProductionDenne
bool
boolean angiver om systemet er i produktion. 

Konfiguration af

...

log4j-ecpr2

OBS!! vent med at opdatere til log4j er degraderet til log4j2

Her skal ske en detaljeret beskrivelse af konfiguraionsfilerne. OBS! Husk at lav et link hertil fra installationsvejledningen!

Overvågning

Http Endpoints 

Health status side (isAlive)

exportHistory

Logning

3.2.1 Auditlog

3.2.2 SLA logning

3.2.3 Intern logning

...

Log4j-eCPR2 konfigurations filen indeholder en Log4J opsætning, der følger gængs standard på NSP. Denne fil findes også i "compose/configuration", hvor eCPR generelt konfigureres.

Overvågning

Systemet kan overvåges via 2 http-endpoints, der viser hhv. healthstatus samt status på export history jobbet. samt forskellige logningsmetoder Disseer beskrevet nedenfor:

Http Endpoints 

I det følgende beskrives hvordan http-endpoints bruges til overvågning af eCPR:

Health status side (isAlive)

Servicen udstiller en Health-statusside (også typisk kendt som isAlive), der viser om servicen er sund, eller om noget kræver en indgriben. Health-statussiden returnerer en body med en tekstrække, der beskriver sundhedsstatus for forskellig funktionalitet i eCPR-applikationen. IsAlive-overvågningen udstedes på <url>/ecpr2/isAlive

Et eksempel på en sund service ses nedenfor:

Database Respond: 200 OK OK
Data Indexed: 200 OK OK

Title: ecpr2-service
Deployed: Mon Oct 23 12:35:45 CEST 2023
Build-Date: 2023-10-18T13:50:46Z
Build-Version: 1.28.18
Builder: trifork2
Display time: Mon Oct 23 16:10:27 CEST 2023
Lucene indexer job: Enabled, Last successful indexing: 2023-10-23T14:00:41.745Z, Error count: 0
Delete Reserved Person Ids job: Enabled, Last Exceeded Reserved Ids delete: Never, Error count: 0

Health Status siden returnerer HTTP statuskoden "200 OK" hvis både databasen responderer og hvis data i databasen succesfuldt er blevet indexeret af lucene. Hvis en af mulighederne ikke er sande returneres HTTP statuskoden "500 Internal Server Error".

De forskellige linjers betydning er forklaret nedenfor:

Titel på linjeForklaring
Database RespondHvis databasen kører og er kontaktbar returneres 200 OK, og ellers returneres 500 Internal Server Error
Data indexedIndikerer om data indexeringen er kør 
TitleTitlen på servicen som er defineret HVOR?
DeployedIndikere tidspunktet, hvor servicen er deployet

Builder
Build-Date
Build-version

Indikere hvem der har bygget servicen samt hvornår servicen senest er blevet bygget, og hvilken version der her blev bygget.
Display TimeTidspunktet hvor HealtStatusSiden blev kaldt
Lucene indexer jobDenne linje viser om Lucene indexering er konfigureret til at køre (Se property jobs.searchindex.enabled), hvornår seneste kørsel er sket samt antallet af gange lucene indexeringen er fejlet i streg, hvis indexeringen er fejlet. 
Delete Reserved Person Ids jobViser om reserverede ID'er er opsat til at slettes (Se propertien jobs.deletedReservedIDs.enabled) , hvornår seneste sletning er udført, samt antallet af gange en sletning er fejlet i streg, ved seneste sletning

exportHistory

ExportHistory-endpoint bruges til overvågning af, om HistoryExport-jobbet er blevet udført succesfuldt. Hvis export-jobbet er gennemført uden fejl returneres "200 OK", mens der ved fejl returneres "500 Internal Server Error".

Export History:

Http status: 			200 OK
Error message: 			no error
Export number: 			2
Export time of last export: 	12/20/2022 19:45:05

De forskellige linjers betydning er forklaret nedenfor:

TitelForklaring
Http statusDette viser status for export-jobbet. Hvis der returneres 200 OK er seneste export forløbet uden fejl, mens 500 Internal Server Error indikerer at der er opstået en fejl i seneste export job
Error messageHvis seneste export er exporteret med fejl udskrives fejlbeskeden her, og i alle andre tilfælde skrives "no error"
Export numberExport number viser antallet af exportjobs, der er kørt, hvor der er blevet eller forsøgt exporteret data. Hvis exportjobbet er startet, men uden der har været ny data at exportere, så tælles dette ikke med i 'Export number'
Export time of last export
Denne dato og tid er tidspunktet for den seneste gang exportjobbet er kørt, hvor der er eksporteret data fejlfrit. Hvis den seneste export er sket med fejl returneres tidspunktet for fejlen. 

Logning

eCPR-servicen logger på tre forskellige måder, som alle er uddybet nedenfor:

  • Auditlog
  • SLA logning
  • Intern logning

Auditlog

Der auditlogges ved alle api requests til /pack/wildfly/standalone/log/audit.log.
Audit logning sker i filen Auditlogger.java, hvor hvert request logges med relevante informationer i sæt af (key, type, value)

Eksempelvis:

{
    "key": "context-system-id",
    "type": "NPI",
    "value": "Service Consumer Test"
}

SLA logning

Der SLA-logges ved kald til Lucene og til SCES.

Intern logning

Til intern logning bruges Log4J, hvor logningsniveauet er specificeret i log4J konfigurationsfilen. Logningen kan bruges til debugging, forudsat at logningsniveauet er sat lavt nok. Der logges "INFO" for, om ting er kørt, og "WARN" og "ERROR" bruges til logning af fejl.  

Fejlfinding

Servicens logfiler kan med fordel løbende tjekkes for Error-logninger. Derudover kan de ovenstående endpoints bruges til hhv. at se den generelle status for servicen (isAlive) samt at overvåge om export af ændringer foreløber fejlfrit.

...

Ændringslog

VersionDatoÆndringAnsvarlig
0.123.10.2023Påbegyndt driftsvejledningenTrifork
1.006.11.2023Initialt dokumentTrifork