Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af programmet.
Driftsvejledningen indeholder information om XDSCleanup komponenten med hensyn til afvikling, konfiguration og overvågning.
Læseren forventes at have kendskab til drifts-setuppet vedr. XDS Registry og det tilhørende XDB repository.
Version | Dato | Ansvarlig | Beskrivelse |
0.1 | 28-02-2022 | KvalitetsIT | Initiel udgave |
0.2 | 10-10-2022 | KvalitetsIT | SDS-5785 |
XDSCleanup udstiller et antal http-endpoints. Dette afsnit beskriver hvilke endpoints der er, og deres returkoder og fortolkning af svaret.
Alle endpoints kan kaldes uafhængigt af hinanden, og der kan køre flere instanser samtidig.
URL | Beskrivelse |
---|---|
<server>/xds-operations/registry-timebased-cleanup/start | Starter et tidsbaseret registry oprydningsjob |
<server>/xds-operations/registry-status90-cleanup/start | Starter et registry oprydningsjob for personer med status 90 |
<server>/xds-operations/repository-cleanup/start | Starter et repository oprydningsjob |
Ovenstående endpoints kan returnere følgende http-statuskoder:
Statuskode | Fortolkning |
---|---|
200 OK | Sletningen (eller opbygningen af slette stakken) gik godt. Det vil fremgå af applikationloggen, hvad der er slettet. |
500 Internal Server Error | Noget gik galt under sletning. Applikationsloggen bør inspiceres for at fastslå problemet. |
Hver snitflade til oprydning, har en tilsvarende status snitflade, som returnerer statuskoden for seneste kørsel af oprydningsjobbet. Har oprydningsjobbet ikke kørt endnu, returneret statuskode 200.
URL |
---|
<server>/xds-operations/registry-timebased-cleanup/status |
<server>/xds-operations/registry-status90-cleanup/status |
<server>/xds-operations/repository-cleanup/status |
Overvågnings-endpoint, som bruges til at overvåge komponentens sundhedstilstand.
URL |
---|
<server>/xds-operations/health |
Der returneres følgende http-statuskoder:
Statuskode | Fortolkning |
---|---|
200 OK | Servicen er i sund tilstand. |
500 Internal Server Error | Servicen er i usund tilstand. Responset indeholder information om årsagen. Applikationsloggen indeholder yderligere information. |
Body'en indeholder en json-struktur, der beskriver hvilke dele af systemet der er blevet tjekket, og deres tilstand. Eksempel hvor tjenesten er i sund tilstand:
{ "version": "42e17e1cb3ea8d8abd21d87252b14a136020e7c0", "registry.db": "OK: 0 entries currently enqueued for repository deletion.", "sdm.db": "OK: Database connnection available.", "repository.db": "OK" } |
Bemærk at det er angivet hvor mange dokumenter der pt. ligger i kø til sletning.
Eksempel hvor tjenesten er i usund tilstand:
{ "version": "42e17e1cb3ea8d8abd21d87252b14a136020e7c0", "registry.db": "ERROR: 7 entries could not be deleted from repository (at least 5 attempts).", "sdm.db": "OK: Database connnection available.", "repository.db": "OK" } |
I ovenstående eksempel er komponenten konfigureret til at melde fejl efter 5 mislykkede forsøg på at slette dokumenter.
Grundlæggende konfiguration foregår ved redigering i filen /compose/configuration/xdscleanup.properties.
I filen skal følgende properties være definerede:
Property | Beskrivelse |
---|---|
datasource.nxrg.jndi.name | JNDI navnet på den datasource der giver adgang til NXRG databasen. |
datasource.openxds.jndi.name | JNDI navnet på den datasource der giver adgang til OpenXDS databasen. |
JNDI navnet på den datasource der giver adgang til SDM databasen (v2_Person tabellen). | |
deletion.document.cleanup.specifications | Komma-separeret liste af oprydningskriterier. Angiver hvilke dokumenttyper der slettes, og hvornår de slettes. Et oprydningskriterium har formen <code-name>#<code-scheme>#<months-to-keep>, hvor <code-name> og <code-scheme> angiver dokumenttypen der skal slettes, og <months-to-keep> angiver hvor mange måneder der skal gå, før sletningen udføres. Værdien af <months-to-keep> skal være et positivt heltal. De to andre værdier kan være vilkårlige strenge, så længe de ikke indeholder kommaer. |
deletion.registry.batchsize | Antal dokumenter der forsøges slettet i registry i en kørsel. |
deletion.repository.batchsize | Antal dokumenter der forsøges slettet i repository i en kørsel. |
deletion.max.attempts | Antal gange sletning fra repository'et forsøges, før health endpointet vil melde fejl. |
deletion.in.clause.max.size | Maksimal størrelse på in-clause i sql-queries. |
deletion.save.status90.docs | Angiver en periode tilbage i tiden hvor dokumenter hørende til personer med status 90 kan slettes. Eksempler på værdier er: "2Y" (for 2 år) "12M" (for 12 måneder) "90D" (for 90 dage) |
XDSCleanup logger på standardout vha. log4j. Jobbet vil undervejs i kørslen udskrive information (på INFO-niveau) om, hvor mange dokumenter der er slettet i NXRG og OpenXDS. Eventuelle fejl vil blive logget på ERROR-niveau.
Nedenstående logudsnit viser et eksempel på, hvad der logges ved kørsler af registry-timebased-cleanup:
2024-02-08 16:20:53,082 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RegistryTimeBasedCleanupServlet 2024-02-08 16:20:53,091 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Time Based Cleanup: 4 items added to stack from TypeAndTimeBasedRegistryCleanupSupplier 2024-02-08 16:20:53,091 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Time Based Cleanup: 4 remaining items on stack 2024-02-08 16:20:55,220 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RegistryTimeBasedCleanupServlet 2024-02-08 16:20:55,220 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Time Based Cleanup: Starting batch deletion of 5 entries. 2024-02-08 16:20:55,276 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Time Based Cleanup: Batch cleanup finished! Time spent: 0 seconds. 2024-02-08 16:20:55,285 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Time Based Cleanup: Deleted DocumentEntries are: [ DocumentEntry[entryId=54,entryUuid=urn:uuid:36775d89-7bb7-4d63-a1d0-242c9a4d0f52,uniqueId=6991853077412342963.5531742584471468177.1644933984831], DocumentEntry[entryId=42,entryUuid=urn:uuid:4474ac23-4e1e-4646-b61a-3aa0528b97e4,uniqueId=5000931755306256916.7510972924567927024.1644933982957], DocumentEntry[entryId=48,entryUuid=urn:uuid:05330f78-23cd-4bfa-bcc6-296d4723d721,uniqueId=6814624543862677988.440886245461280012.1644933983802], DocumentEntry[entryId=37,entryUuid=urn:uuid:a8ad6e1e-318f-4739-96b9-77d9cf490d37,uniqueId=6273209204640358314.1222189249488862845.1644933982211], DocumentEntry[entryId=39,entryUuid=urn:uuid:f1117e71-5d89-4502-92a6-850d4fd6a5f9,uniqueId=8072856556354708955.4478062509353156789.1644933982513] ] 2024-02-08 16:20:55,286 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Time Based Cleanup: 3 remaining items on stack |
I dette eksempel køres med deletion.registry.batchsize=5, og det ses at der i første kørsel lægges 4 nye operationer på stakken. I næste kørsel, slettes 5 dokumenter i registry'et.
Næste logudsnit viser et eksempel på, hvad der logges ved kørsler af registry-status90-cleanup:
2024-02-08 16:24:40,879 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RegistryStatus90CleanupServlet 2024-02-08 16:24:40,886 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Status 90 Cleanup: 1 items added to stack from Status90RegistryPatientIdBatchCleanupSupplier 2024-02-08 16:24:40,886 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Status 90 Cleanup: 10 remaining items on stack 2024-02-08 16:24:42,727 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RegistryStatus90CleanupServlet 2024-02-08 16:24:42,728 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Status 90 Cleanup: Starting batch deletion of 1 entries. 2024-02-08 16:24:42,748 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Status 90 Cleanup: Batch cleanup finished! Time spent: 0 seconds. 2024-02-08 16:24:42,748 [INFO] dk.nsp.xdscleanup.service.stack.operation.RegistryBatchCleanupOperation - Registry Status 90 Cleanup: Deleted DocumentEntries are: [ DocumentEntry[entryId=6,entryUuid=urn:uuid:d4ab1ed2-3958-4198-9a30-613163fb8b3a,uniqueId=5745551251602451683.3935600351732515390.1638782620952] ] 2024-02-08 16:24:42,748 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Registry Status 90 Cleanup: 9 remaining items on stack |
Her ses det at der i første kørsel lægges 1 ny operation på stakken. I næste kørsel udføres denne operation, som sletter et enkelt dokument i registry'et.
Næste logudsnit viser et eksempel på, hvad der logges ved kørsler af repository-cleanup:
2024-02-08 16:30:27,184 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RepositoryCleanupServlet 2024-02-08 16:30:27,184 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Repository Cleanup: Stack is empty 2024-02-08 16:30:27,388 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Repository Cleanup: 3 items added to stack from RepositoryCleanupSupplier 2024-02-08 16:30:32,647 [INFO] dk.nsp.xdscleanup.ws.cleanup.AbstractOperationsServlet - Starting RepositoryCleanupServlet 2024-02-08 16:30:32,649 [INFO] dk.nsp.xdscleanup.service.stack.operation.RepositoryBatchCleanupOperation - Repository Cleanup: Starting batch deletion of 10 entries. 2024-02-08 16:30:32,858 [INFO] dk.nsp.xdscleanup.service.stack.operation.RepositoryBatchCleanupOperation - Repository Cleanup: Batch cleanup finished! Time spent: 0 seconds. 2024-02-08 16:30:32,867 [INFO] dk.nsp.xdscleanup.service.stack.operation.RepositoryBatchCleanupOperation - Repository Cleanup: 10 deleted documents are: [ DeletedDocumentEntry[entryId=23,entryUuid=urn:uuid:e94e8421-2dbc-4fc9-a1fe-d0417675efaa,uniqueId=4889082082586197170.1298056177767134575.1644933981538], DeletedDocumentEntry[entryId=26,entryUuid=urn:uuid:7f4f4b75-b657-4849-9b5c-ae78278ee1f1,uniqueId=4917532742519936637.8368324053248592220.1644933978532], DeletedDocumentEntry[entryId=60,entryUuid=urn:uuid:a8ad6e1e-318f-4739-96b9-77d9cf490d37,uniqueId=6273209204640358314.1222189249488862845.1644933982211], DeletedDocumentEntry[entryId=33,entryUuid=urn:uuid:523eb18f-10a3-4ec8-8518-1e33b6c54a54,uniqueId=6313982942207370191.4718769210813691557.1638782616933], DeletedDocumentEntry[entryId=17,entryUuid=urn:uuid:6c8e6c1b-d2fc-4ff3-afd4-8397b871b733,uniqueId=5756914889672242098.5470358841123779494.1644933985195], DeletedDocumentEntry[entryId=57,entryUuid=urn:uuid:36775d89-7bb7-4d63-a1d0-242c9a4d0f52,uniqueId=6991853077412342963.5531742584471468177.1644933984831], DeletedDocumentEntry[entryId=62,entryUuid=urn:uuid:d4ab1ed2-3958-4198-9a30-613163fb8b3a,uniqueId=5745551251602451683.3935600351732515390.1638782620952], DeletedDocumentEntry[entryId=13,entryUuid=urn:uuid:9bc107a6-b319-4df1-9874-0f4aa7fd55a0,uniqueId=6775924398637960340.8142393776299294140.1644933977146], DeletedDocumentEntry[entryId=58,entryUuid=urn:uuid:4474ac23-4e1e-4646-b61a-3aa0528b97e4,uniqueId=5000931755306256916.7510972924567927024.1644933982957], DeletedDocumentEntry[entryId=16,entryUuid=urn:uuid:644b95d9-927f-4f28-b96f-de8b16ab778f,uniqueId=8450233303628819957.2074304039769587217.1644933978439] ] 2024-02-08 16:30:32,872 [INFO] dk.nsp.xdscleanup.service.stack.operation.RepositoryBatchCleanupOperation - Repository Cleanup: Batch marked as completed 2024-02-08 16:30:32,872 [INFO] dk.nsp.xdscleanup.service.stack.StackedOperationsService - Repository Cleanup: 2 remaining items on stack |
I dette eksempel køres med deletion.repository.batchsize=10, og det ses at der i første kørsel lægges 3 nye operationer på stakken. I næste kørsel, slettes 10 dokumenter i repository'et.