Page History
...
URL | Funktionalitet |
|---|---|
<server>/fsk/actuator/info | Status-side. Se afsnittet versionsinformation. |
<server>/fsk/actuator/health | Status-side for FSK servicen. Viser om servicen fungerer korrekt, se afsnittet Overvågning. |
<server><server slettejob> /fsk/fsk-cleanup/status | Returnerer statuskoden for den seneste kørsel af slettejobbet |
<server><server slettejob>/fsk/fsk-cleanup/start | Starter fsk slette jobbet, som sletter stamkort, for personer, der har været afdøde et år |
<server slettejob>/fsk/health | Status-side for slettejobbet. Viser om servicen fungerer korrekt, se afsnittet Overvågning. |
Opsætning
I application.properties kan der indstilles forkellige ting. Her følger et eksempel:
| Code Block |
|---|
author.institution.root=1.2.208.176.1.1 author.institution.extension=1126211000016009 author.institution.assigningAuthorityName=SOR author.institution.name=Sundhedsdatastyrelsen # Whitelisted CVRs (comma-separated) that are allowed to call with DGWS level 3 whitelisted.level3.cvrs=31908574,33257872 health.certificate-expires-warning=30 # JNDI datasource properties datasource-fsk.jndi-name=java:jboss/datasources/FSK-DS datasource-stm.jndi-name=java:jboss/datasources/STM-DS sts.endpoint=http://test1.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService # Minlog minlog.read-activity.text=Opslag i Stamkort minlog.on.idcard.level3.enabled=true # SCES sces.enable=true sces.endpoint=http://test1.ekstern-test.nspop.dk:8080/stamdata-cpr-ws/service/DetGodeCPROpslag-1.0.4 sces.connect.timeout.millis=2000 sces.read.timeout.millis=7000 # ODR odr.enable=true odr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/odr/odr odr.connect.timeout.millis=2000 odr.read.timeout.millis=7000 # LTR ltr.enable=true ltr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/btr/ltr ltr.connect.timeout.millis=2000 ltr.read.timeout.millis=7000 # BTR btr.startdatetime=2019-01-01 00:00:00 btr.enable=true btr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/btr/btr btr.connect.timeout.millis=2000 btr.read.timeout.millis=7000 # SKR skr.enable=true skr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/skr/skr skr.connect.timeout.millis=2000 skr.read.timeout.millis=7000 # SYES syes.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-yder-lookup-ws/service/YderService syes.connect.timeout.millis=2000 syes.read.timeout.millis=7000 # DDS dds.repository.unique.id=1.2.208.176.43210.8.10.12 dds.home.community.id=1.2.208.176.8.1.12 # FGVHR - De andre services genbruger ID-kort og HSUID-header som FSK modtager, til at kalde videre. Det gør FGVHR ikke, derfor skal certifikat og ID-kort konfigureres: fgvhr.enable=true fgvhr.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/fgvhr/20230601/hasNoResuscitation fgvhr.connect.timeout.millis=2000 fgvhr.read.timeout.millis=7000 fgvhr.sts.keystore=NSP_Test_Service_Consumer_sds.p12 # skal mappes ind i containeren på følgende sti, så navnet på keystore stemmer overens: /pack/wildfly/modules/dk/sundhedsdatastyrelsen/fsk/main/NSP_Test_Service_Consumer_sds.p12 fgvhr.sts.keystore.password=Test1234 fgvhr.idcard.subject.name=Sundhedsdatastyrelsen fgvhr.idcard.subject.id=33257872 fgvhr.idcard.system.name=FSK # Cleanup deletion.fsk.batchsize=1000 desired.execution.duration=PT10S |
Daglig drift
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af slettejobbet.
Versionsinformation
Servicen udstiller en statusside med versionsinformation. Der returneres en body med JSON-data.
"$.build" indeholder oplysninger om versionen, og hvornår den blev bygget.
"$.time" indeholder oplysninger om det aktuelle tidspunkt, og tidspunktet for hvornår servicen blev deployed.
Eksempel:
deletion.save.deceased=12M
# PersonInformation
personinformation.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1
personinformation.errorcount.duration=PT10M
personinformation.error.tolerance=0
fsk.httpclient.pooling.totalconnections=200
fsk.httpclient.pooling.maxconnections.pr.route=20 |
Daglig drift
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af slettejobbet.
Versionsinformation
Servicen udstiller en statusside med versionsinformation. Der returneres en body med JSON-data.
"$.build" indeholder oplysninger om versionen, og hvornår den blev bygget.
"$.time" indeholder oplysninger om det aktuelle tidspunkt, og tidspunktet for hvornår servicen blev deployed.
Eksempel:
| Code Block | ||
|---|---|---|
| ||
{
"build | ||
| Code Block | ||
| ||
{ "build": { "version": "2.0.8", "artifact": "fsk-service", "name": "fsk-service", "group": "dk.sundhedsdatastyrelsen.stamkort", "time": "2019-07-30T07:30:22.496Z" }, "time": { "currentTimeversion": "2019-07-30T13:16:18.761Z2.0.8", "deployedartifact": "2019-07-30T13:16:10.382Zfsk-service", "name": "fsk-service", "group": "dk.sundhedsdatastyrelsen.stamkort", "time": "2019-07-30T07:30:22.496Z" } } |
Overvågning
,
"time": {
"currentTime": "2019-07-30T13:16:18.761Z",
"deployed": "2019-07-30T13:16:10.382Z"
}
} |
Overvågning
De følgende afsnit beskriver emner i servicen, der kræver opmærksomhed ift. driften.
Health-statusside
FSK Servicen udstiller en en Health-statusside (også typisk kendt som isAlive), der viser om applikationen er sund, eller om noget kræver indgriben. Health-statussiden returnerer en body med JSON-data, der beskriver sundhedsstatus for forskellig funktionalitet i applikationen.
...
| Code Block | ||
|---|---|---|
| ||
{
"status": "NEEDS_ATTENTION",
"details": {
"organDonorClient": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T17:31:13.245Z"
}
},
"livingWillClient": {
"status": "NEEDS_ATTENTION",
"details": {
"error": "java.io.IOException: HTTP POST failed (404): Not Found",
"timeOfLastExecution": "2019-07-30T17:31:13.246Z"
}
},
"treatmentWillClient": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T17:31:13.245Z"
}
},
"personalDataCardRegisterClient": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T17:31:13.246Z"
}
},
"scesClient": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T17:31:13.566Z"
}
},
"minLogClient": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T17:31:13.569Z"
}
},
"syncJob": {
"status": "UP",
"details": {
"timeOfLastExecution": "2019-07-30T18:00:05.321Z"
}
},
"db": {
"status": "UP",
"details": {
"primaryDataSource": {
"status": "UP",
"details": {
"database": "MySQL",
"hello": 1
}
},
"stamdataDataSource": {
"status": "UP",
"details": {
"database": "MySQL",
"hello": 1
}
}
}
}
}
} |
Slettejobbet status side
...
}
}
}
} |
Slettejobbet status endpoints
Slettejobbet har sine egne status endpoints
<server slettejob>/fsk/fsk-cleanup/status: fortæller med en http kode, hvordan den seneste sletning gik.
<server slettejob>/fsk/health: fortæller status til eksterne services og database. Hvis de melder fejl så tjek log filerne.
Eksempel på svar fra health endpointet:
| Code Block | ||
|---|---|---|
| ||
{
"DB":"OK",
"PersonInformation":"OK"
} |
Fejlfinding
Servicens logfiler bør løbende tjekkes for ERROR-logninger.
...
Detaljer omkring de forskellige trin slettejobbet har, kan findes i FSK Design og arkitektur dokumentet.
Servicens slettejob bliver afviklet vha. en udstillet RestController, som kaldes vha. simpelt HTTP GET kald.
Driften vedligeholder en cron, som kalder slettejobbets url i et fast mønster vha. curl.
Man kan ændre styring af slettejobbet ved at ændre følgende parametre:
- desired.execution.duration=PT20S
Det er en max grænse for hvor lang tid jobbet må køre pr. gang. Når jobbet har kørt den tid der er angivet, så stopper udførslen. Her efter kan jobbet kaldes igen og den vil fortsætte med processeringen hvor jobbet stoppede sidst.
Parameteren angives som en Duration i ISO-8601 format. Dvs. eksemplet viser 20 sekunder. - deletion.fsk.batchsize=1000
Det er en max grænse for, hvor mange cpr numre, der håndteres af gangen. Blandt andet i forbindelse med kald til PersonInformation deceased og den videre sletning af stamkort. - deletion.save.deceased=12M
Angiver hvor lang tid en person skal være død for at stamdata bliver slettet
Kommando til kald af slettejob: <server>/fsk/fsk-cleanup/start