Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikation server, MariaDB og java.
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
Løsningen kan overvåges med:
http://<server>:<port>/minlog2-cleanup/status |
som svarer HTTP OK tilbage, hvis alt fungerer. Dette kald verificerer databaseadgang.
Eksempel på svar, hvor datasen er til rådoghed.
HTTP/1.1 200 OK Database : OK |
Løsningen kan overvåges med:
http://<server>:<port>/minlog2-cleanup/alarm |
som svarer HTTP OK tilbage, hvis alt fungerer eller svarere HTTP Internal Server Error, hvis fejl.
Dette kald verificerer services, eksterne kald og databaseadgange.
Eksempel på svare, hvor personinformationservice ikke er tilgængelig.
HTTP/1.1 500 Internal Server Error Baggrundsjobbet StackedOperationsService fejlede sidst det blev kørt. Problemet var: Data for CPR-nummeret kunne ikke findes, fordi kaldet til PersonInformation-servicen returnerede en uventet statuskode: 409. |
Cleanup har eget sæt af logfiler – alle placeret i <jboss>/standalone/logs. Derudover kan der forekomme logning til server.log.
Logformaterne kan findes i log4j filerne som er placeret i Wildfly – se konfigurationer – og hjælp til patterns kan findes i forbindelse med Log4J:
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
Filen minlog2-cleanup-application.log indeholder applikationsloggen og kan benyttes i fejlsituationer og til statistik.
timestamp="2025-01-29 14:37:06,321" threadId="MSC service thread 1-6" priority="INFO" category="dk.nsi.minlog2.util.Minlog2PropertiesProducer" message="minlog2-cleanup.properties properties successfully loaded from: minlog2-cleanup.properties" |
Databaseadgang konfigureres i datasource filer i:
<jboss>/standalone/deployments/minlog2-ds.xml |
Driften vedligeholder en cron, som kalder slettejobbets url i et fast mønster vha. curl.
Det er muligt at starte cleanup på følgende adresser:
http://<server>:<port>/minlog2-cleanup/deceased/start http://<server>:<port>/minlog2-cleanup/timebased/start |
Slettejob står for at slette logentries i databasen og jobbene er lavet efter standarden for baggrundsjob på NSP.
MinLog2-cleanup består af 2 slettejob, som kan startes seperat og dermed afvikles uafhængigt af hinanden.
For hvert slettejob gælder, at de skal kunne dele opslag, filtreringer og udførsel af sletningerne op i så små opgaver, at 1 eller flere opgaver kan udføres indenfor en afsat tidsramme (deletion.desired.execution.duration).
Ifølge den nye standard for baggrundsjob, så fortsættes rækken af opgaver fra den opgave, hvor jobbet sluttede sidst. Dermed undgås det, at de samme opgaver skal udføres hver gang jobbet kaldes.
Følgende properties er angivet ift. afviklingen af baggrundsjob i Minlog2-cleanup:
# Max. antal CPR vi forespørger på i en enkelt request til personinformation |
Dette slettejob finder alle eksisterende CPR-numre i minlog-databasen og tjekker vha. personinformationservicen om den pågældende person er død. Der er indbygget i den logik, at personen skal være død i en angivet periode (deletion.save.deceased) inden data slettes fra databasen.
Der tjekkes mod personinformation servicen om en person var død på tidspunktet for dags dato minus perioden deletion.save.deceased. Der tjekkes kun for personinformation.batchsize ad gangen.
Udtrækket bliver så opdelt i mindre opgaver, hvor et antal (deletion.batchsize) rækker slettes.
Følgende properties bruges i afviklingen af dette slettejob:
# Max. antal CPR vi forespørger på i en enkelt request til personinformation |
Dette slettejob finder og slette de ældste log-data i databasen, som er ældre end en angivet periode (days.to.remain.persisted).
Der udtrækkes max. det antal rækker, som er angivet i query.limit
Udtrækket bliver så opdelt i mindre opgaver, hvor et antal (deletion.batchsize) rækker slettes.
Følgende properties bruges i afviklingen af dette slettejob:
# Antal dage der skal gå før vi betragter logentries, som værende for gamle. |