Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
Indholdfortegnelse:
| Table of Contents |
|---|
Dette er en foreløbig beskrivelse, med løbende rettelser.
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 eksisterer, samt deres standard konfiguration. Dertil kommer information om hvordan systemet overvåges i form af HTTP-endpoints samt Auditlog, SLA-logning samt øvrig logning.
...
- Der kræves adgang til en MariaDB datasource
- National adviserings service 2.0 (NAS)
- Kald til (læsning fra) CPR-Enkeltopslag (SCES)
- Læsning fra krs-stamdata gennem et view.
Dokument historik
...
- 3 views
Konfiguration
Konfigurationen af eCPR sker i filerne i "compose/configuration" mappen som beskrevet i eCPR - Installationsvejledning. I 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 konfiguration | Property | Beskrivelse | |
| Database | springecpr2.datasource.*jndi | Definerer hvilken fil datasourcen er defineret i. Ønskes anden konfiguration indlægges en ny datasourcefil, og denne sti opdateres.Dette er 4 properties der bruges til at konfigruere databasen, herunder driver class name, url, username og password | |
Dcc | dcc.endpoint | Dette er adressen til eCPR udstillet til dcc'en | |
Schema validering
| schemavalidation.validate.* | Boolean der angiver om request og/eller 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.maxResut | Max antal af resultater som lucene søgning kan returnere | |
| jobs.searchindex.enabled | Angiver om lucene indexeringsjobbet skal køre. Skal som udgangspunkt altid være enabled, for ellers forældes data i lucene indexet hurtigt. | ||
| jobs.searchindex.msInitialDelay | Angiver tiden fra start af deployment til første Lucene Indexerings kørsel | ||
| jobs.searchindex.msDelayBetween | Angiver hvor ofte lucene indexeringsjobbet skal køre | ||
| jobs.searchindex.InitialLoad.batchSize | Nå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 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ældende kald, der er udført. | ||
| spring.datasource.tomcat.connection-properties= 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.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 | |
| 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 | |
| isProduction | Denne bool boolean angiver om systemet er i produktion. |
...
Konfiguration af log4j-ecpr2
Denne fil Log4j-eCPR2 konfigurations filen indeholder en Log4J opsætning, der følger gængs standard på NSP.
Overvågning
Http Endpoints
. 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 applikationen 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:
...
De forskellige linjers betydning er forklaret nedenfor:
| Titel på linje | Forklaring |
| Database Respond | Hvis databasen kører og er kontaktbar returneres 200 OK, og ellers returneres 500 Internal Server Error |
| Data indexed | Indikerer om data indexeringen er kør |
| Title | Titlen på servicen som er defineret HVOR? |
| Deployed | Indikere |
| tidspunktet, hvor servicen er deployet | |
Builder | Indikere hvem der har bygget servicen samt hvornår servicen senest er blevet bygget, og hvilken version der her blev bygget. |
| Display Time |
| Tidspunktet hvor HealtStatusSiden blev kaldt | |
| Lucene indexer job | Denne 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 job | Viser 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-endpint 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".
...
De forskellige linjers betydning er forklaret nedenfor:
| Titel | Forklaring |
| Http status | Dette 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 Messagmessage | Hvis seneste export er exporteret med fejl udskrives fejlbeskeden her, og i alle andre tilfælde skrives "no error" |
| Export number | Export 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. |
...
eCPR-servicen logger på tre forskellige måder, som alle er uddybet nedenfor:
3.2.1 Auditlog
3.2.2 SLA logning
...
- 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:
|
|---|
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.
...
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
| Version | Dato | Ændring | Ansvarlig |
|---|---|---|---|
| 0.1 | 23.10.2023 | Påbegyndt driftsvejledningen | Trifork |
| 1.0 | 06.11.2023 | Initialt dokument | Trifork |