Page History
...
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
...
Overvågning
Statussnitflade
Løsningen kan overvåges med:
http://<server>:<port>/minlog2-registration/
...
status
som svarer HTTP OK tilbage, hvis alt fungerer. Dette kald verificerer services samt databaseadgang.
Generel overvågningsflade
Det er muligt at få vist yderligere detaljer med:
...
Snitfladen svarer HTTP 200, hvis komponenten kan modtage forespørgsler, og HTTP 500, hvis den ikke kan. NSP-loadbalanceren bruger svaret til at ind- og udmelde komponenten.
Kaldet verificerer adgang til registrerings-databasen. Kafka Proxyen indgår ikke i statussnitfladen — registration kan tage imod forespørgsler selv om proxyen er nede, og en manglende proxy meldes derfor på alarmsnitfladen.
Svaret er et JSON-array med driftsinformationer, herunder komponentens versionsnummer. Rækkefølgen af de øvrige elementer er ikke garanteret.
| Code Block | ||||
|---|---|---|---|---|
| ||||
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[{"Version":"2.6.0"},{"MinLog2 database":"OK"}] |
Svarer en indikator Unavailable, er statuskoden 500, og komponenten tages ud af loadbalanceren indtil forholdet er udbedret. Der skrives samtidig en linje i loggen med årsagen; den gentages højst én gang i minuttet for samme årsag.
| Info |
|---|
Snitfladen |
Alarmsnitflade
Løsningen kan overvåges med:
http://<server>:<port>/minlog2-registration/alarm
Snitfladen svarer HTTP 500, hvis der er aktive alarmer, og HTTP 200, hvis der ingen er. Svaret er text/plain med én linje per aktiv alarm; ved ingen alarmer returneres den tomme streng.
Aktive alarmer melder ikke komponenten ud af loadbalanceren – det er statussnitfladens opgave. Aktive alarmer skrives også i loggen, højst én gang i minuttet per alarm.
Alarmtekst | Betydning og handling |
|---|---|
Der er ingen forbindelse til databasen med JNDI navnet <navn>. | Registrerings-databasen svarer ikke. Kontrollér datasource og databaseserver. Statussnitfladen svarer samtidig 500. |
Aflevering til Kafka Proxyen på <url> har fejlet flere gange end tilladt i en given periode. | Registreringer kan ikke afleveres. Kontrollér Kafka Proxy-containeren og netværksadgangen til den. Statussnitfladen svarer fortsat 200, så registration bliver i loadbalanceren. Alarmen rejses når registreringsforsøg fejler gentagne gange og forsvinder ved den første succesfulde aflevering. |
| Code Block | ||||
|---|---|---|---|---|
| ||||
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain;charset=UTF-8
Aflevering til Kafka Proxyen på http://kafkaproxy:8080/minlog2-kafka-proxy/2026/02/11/registrations har fejlet flere gange end tilladt i en given periode |
Denne viser status for eventuelle services og konfigurationer.
Version
Løsningernes versioner kan vises med:
...
. |
Service snitflade
Løsningerne tilgås på
|
DKS snitflade
DKS for Registration-service på minlog2 findes på følgende url'er.
...
Følgende properties bruges i DKS til opbygning af endpoint.
# DCC Endpointminlog2.endpoint.register=http://test1-cnsp.ekstern-test.nspop.dk:8080/minlog2-registration |
Funktionalitet
Servicene stiller metoder til rådighed til at registrere cpr relaterede hændelser.
Adgang er håndteret med IDCard. Der kan jf. Netic etableres blacklistning i HAProxy og/eller firewall på NSP'erne.
Håndtering af fejlsituationer
De eneste eksterne afhængigheder er til databaserRegistration afhænger af registrerings-databasen og af Kafka Proxyen, som registreringer afleveres til. Det må derfor forventes, at den mest sandsynlige kilde til fejlsituationer er problemer med databaseadgang eller med Kafka Proxyen. Det forudsættes at databaseskema, tabeller og brugere herunder rettighederne er på plads:
- SELECT
- INSERT
- UPDATE
- DELETE
Dette vil fremgå af overvågningsfladen Begge dele fremgår af status- og alarmsnitfladen, og detaljer vil være tilgængelige i applikationsloggenloggen. Yderligere fejl vil også kunne spores i applikationsloggenloggen.
Logfiler
Registration og Lookup har eget sæt af logfiler – alle placeret i <jboss>/standalone/logs. SLA logning sker til en særlig fil – "nsputil-sla-minlog2.log". Derudover kan der forekomme logning til server.log.
...
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
SLA log
nsputil-sla-minlog2.log indeholder SLA loggen. Loggen indeholder målepunkter for service- og Kafka kald. Kaldet til Kafka foregår inden for servicekaldet og har til formål at gøre det synligt, hvor tiden går.
...
2017-06-26 08:22:05,751 [default task-4] INFO dk.sdsd.nsp.slalogdata - LogPoint="DB_Operation" LogPointUniqId="lookupPersonName" StartTime="2017-06-26 08:22:05.750" EndTime="2017-06-26 08:22:05.750" Duration="767 microseconds" MessageId="AAABXOMQcV1mt6jYItbXz1NPU0k=" RequestSize=0 ReplySize=0 Result=OK ClientIP="<empty>" SOAPOperation="<empty>" SOAPEndpoint="<empty>" SOAPAction="<empty>" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(0)= { } 2017-06-26 08:22:05,773 [default task-4] INFO dk.sdsd.nsp.slalogdata - LogPoint="DB_Operation" LogPointUniqId="getLogStatements" StartTime="2017-06-26 08:22:05.141" EndTime="2017-06-26 08:22:05.773" Duration="632086 microseconds" MessageId="AAABXOMQcV1mt6jYItbXz1NPU0k=" RequestSize=0 ReplySize=0 Result=OK ClientIP="<empty>" SOAPOperation="<empty>" SOAPEndpoint="<empty>" SOAPAction="<empty>" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(0)= { } 2017-06-26 08:22:05,997 [default task-4] INFO dk.sdsd.nsp.slalogdata - LogPoint="minlog2.GetLogStatementsForCPRPerson" LogPointUniqId="minlog2.GetLogStatementsForCPRPerson" StartTime="2017-06-26 08:22:04.657" EndTime="2017-06-26 08:22:05.997" Duration="1340017 microseconds" MessageId="AAABXOMQcV1mt6jYItbXz1NPU0k=" RequestSize=0 ReplySize=0 Result=OK ClientIP="127.0.0.1" SOAPOperation="GetLogStatementsForCPRPerson" SOAPEndpoint="http://localhost:8080/minlog2-lookup/LookupService" SOAPAction="GetLogStatementsForCPRPerson" TargetSOAPOperation="<empty>" TargetSOAPEndpoint="<empty>" GenericCallParms(0)= { } |
Audit log
Audit-logning foretages med det officielle "NSP Audit API" modul.
...
| Code Block | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
{
"time": "2022-06-13T14:49:29.09Z",
"category": "dk.sds.nsp.audit.log.minlog2",
"audit": {
"timestamp": "2022-06-13T16:49:29.046+02:00",
"components": [
{
"component": "MinLog2",
"contexts": [
{
"context": "LookupRequest",
"information": [
{
"key": "Caller",
"type": "SPI",
"value": "1010780337"
},
{
"key": "Parameters",
"type": "SPI",
"value": "NA"
}
]
}
]
}
]
},
"access": {
"code": 200,
"duration": 39,
"httpHeaders": {
"Content-Type": "text/xml; charset=UTF-8",
"SOAPAction": "\"GetLogStatementsForCPRPersonWithID\""
},
"httpHost": "localhost",
"idCardAttributes": {
"dk:gov:saml:attribute:AssuranceLevel": "3",
"dk:gov:saml:attribute:CprNumberIdentifier": "1010780337",
"dk:gov:saml:attribute:SpecVer": "DK-SAML-2.0"
},
"method": "POST",
"path": "/minlog2-lookupid/LookupidService",
"query": "",
"port": 8081,
"protocol": "http",
"reqSize": 11810,
"resSize": 21707,
"soapHeaders": {
"Audience": "https://minlog",
"Issuer": "TEST2-NSP-STS",
"NameID": "C=DK,O=Ingen organisatorisk tilknytning,CN=Lars Larsen,Serial=PID:9208-2002-2-633568693394",
"w3Action": "action",
"w3MessageID": "64d6a252-f391-460c-a90b-1ea7d8512cd8"
},
"threadId": "default task-102",
"time": "2022-06-13T16:49:29.046+02:00",
"stats": {
"handlerDuration": 3,
"RequestContentDuration": 0,
"ResponseContentDuration": 0,
"SecurityProtocolRequestDuration": 0,
"SecurityProtocolResponseDuration": 0,
"bufferAllocated": false,
"usedBuffers": 2,
"activeBuffersInPool": 2,
"idleBuffersInPool": 29
}
}
} |
Applikationslog
Filen minlog2-registration-application.log og minlog2-lookup-application.log indeholder applikationsloggen loggen og kan benyttes i fejlsituationer og til statistik. På nuværende tidspunkt anvendes denne primært til logning i forbindelse med batchjob og indlæsning til cache.
...
Message producer pool empty. Consider increasing property producer.pool.count.
Konfigurationer
Databaseadgang konfigureres i datasource filer i:
...
Se i øvrigt installationsvejledningen.
Whitelisting
For at et anvender kan kalde en bestemt registration-snitflade, skal de whitelistes først. Dette gøres enten på deres CVR-nummer eller via et certifikats SSN som indsættes i whitelist-tabellen.
...
- registration
- registration_20210511
- registration_20230425
Batch job
Lookup applikationen indeholder følgende batchjobs:
...
Se i øvrigt Applikationslog
Backup
Der skal tages backup af minlog2 databasen og evt. konfigurationsfilerne nævnt i installationsvejledningen.
Belastning
Servicemålene herunder er for henholdsvis MinLog 2 RegistrationService og LookupService.
Service | Servicemål |
Svartider opdatering | 95 % af tilfældene ≤ 6,5 sek |
98 % af tilfældene ≤ 15,5 sek | |
Svartider forespørgsler | 95 % af tilfældene ≤ 2,5 sek |
98 % af tilfældene ≤ 5,5 sek |
Baggrund for vurdering af belastning
TBD