Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Svareksponeringsservice XDS Registry Adapter
    • Type: Webservice
    • Filnavn: sxa-documentmetadataprovider.war
    • Url: <serverurl>/sxa-documentmetadataprovider
    Statusurl
    • Status url: <serverurl>/status
    • Alarm url: <serverurl>/
    service-check/service?servicename=sxa-documentmetadataprovider
    • alarm
    • Servicecheck url<serverurl>/servicecheck
  • Svareksponeringsservice XDS Repository Adapter
    • Type: Webservice
    • Filnavn: sxa-documentprovider.war
    • Url: <serverurl>/sxa-documentprovider
    Statusurl
    • Status url: <serverurl>/
    service-check/service?servicename=sxa-documentprovider

...

    • status
    • Alarm url: <serverurl>/alarm
    • Servicecheck url<serverurl>/servicecheck
  • Service-check
  • Type: Webservice
  • Filnavn: service-check.war
  • Url: <serverurl>/service-check/service


Daglig drift

Dette afsnit beskriver den daglige drift af systemet.

...

Header-elementIndhold
TraceInfo.RequestTimeTidspunktet hvor headeren dannes.
TraceInfo.SessionIdFlowID fra Medcom-headeren, hvis det er angivet. Ellers et tilfældigt uuid.
TraceInfo.RequestId

Tilfældigt uuid.

For at kunne korrelere MessageID fra Medcom-headeren med det tilfældige uuid, logges en linje på følgende form på INFO-niveau i applikationsloggen:

LogRecord generated. MessageID: <messageID>, RequestId: <requestId>


Eksempel:

LogRecord generated. MessageID: AAABeBX9pFBxz1Ul3Nwf/lNPU0k=, RequestId: 863faf0f-dc2a-4c48-b4ec-897ec90a9890


TraceInfo.RouteEn sekvens af ViaSystem-elementer. Hvis requestet indeholder en LogRecord-header, så kopieres sekvensen herfra, og udvides med et element med værdien 'Dokumentdelingsservice'. Ellers kun 'Dokumentdelingsservice'-elementet.
RequestingClient.ClientIdentification

Bestemmes ud fra Hsuid-headerens UserType-attribut.

  • Hvis UserType-attributten er 'nsi:Citizen', så sættes ClientIdentificationType til 'CPR_NUMMER', og værdien sættes til indholdet af ActingUserCivilRegistrationNumber-attributten.
  • Hvis UserType-attributten er 'nsi:HealthcareProfessional', så bestemmes ClientIdentificationType ud fra OrgUsingID-attributtens NameFormat, og værdien sættes til indholdet af OrgUsingID-attributten.
RequestingClient.ClinicNameTom streng.
RequestingClient.ClinicDepartmentTom streng.
RequestingClient.UserCprNumberSættes til indholdet af ActingUserCivilRegistrationNumber-attributten.
RequestingClient.UserNameTom streng.
RequestingClient.UserInitialsTom streng.
RequestingClient.BehalfOfCprNumberSættes til indholdet af ResponsibleUserCivilRegistrationNumber-attributten, hvis denne er udfyldt.
RequestingClient.LookUpType

Bestemmes ud fra Hsuid-headerens UserType-attribut.

  • Hvis UserType-attributten er 'nsi:Citizen', så tjekkes om borgeren slår op på egne data (ved at tjekke om ResponsibleUserCivilRegistrationNumber-attributten er udfyldt). Hvis ja, så sættes LookupType til 'Borger'. Hvis nej, så bestemmes LookupType ud fra CitizenUserRelation-attributten som følger:
    • Citizen → Borger
    • ChildCustodyHolder → Forælder
    • Guardian → Værge
    • ProxyHolder → Fuldmagtshaver
  • Hvis UserType-attributten er 'nsi:HealthcareProfessional', så tjekkes om ResponsibleUserAuthorizationCode-attributten er udfyldt. Hvis ja, så sættes LookupType til 'Kliniker'. Hvis nej, så sættes LookupType til 'Kliniker'. (ikke helt afgjort pt. om det skal være sådan.)


RequestingClient.TaskTypeSættes til 'Opslag Dokumentdelingsservice'.
Patient.CprNumberBeregnes ved at decode DocumentUniqueId'et fra request bodyen.
Patient.NameTom streng
Consent.CodeHvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så 1 (patienten har givet samtykke). Ellers 3 (opslaget er foretaget som en del af behandlingen).
Consent.TextHvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så tom streng, ellers 'Opslag foretages pga. værdispring'.
Consent.PrivacyOverrideCodePrivacyOverrideCode - Hvis HSUID-attributten ConsentOverride ikke er angivet, eller er angivet til 'false', så 0, ellers 1.
ExtendedRequestInfoTekstuel repræsentation af request body'en

HTTP Statuscheck på komponenter i Svareksponeringsservice XDS-adaptere

Det er muligt at lave servicetjek på Svareksponeringsservice XDS-adaptere ved brug af den generelle service servicecheck. For at understøtte servicetjek kræves konfiguration af servicecheck servicen, der er både generel og specifikt for svareksponeringsservice XDS-adaptere. Følgende underafsnit beskriver den nødvendige konfiguration.

ServiceCheck.properties

Grundlæggende konfiguration af service-check sker ved tilretning af properties i ServiceCheck.properties filen. 
Eksempel på ServiceCheck.properties
Code Block
jmx.url = service:jmx:rmi://localhost/jndi/rmi://localhost:1090/jmxconnector
jmx.username = nisse
jmx.password = ngyffe
service.config.path = service-check.xml
log4j.path = servicecheck.log4j.properties
Konfiguration af log4j sker ved tilretning af properties i filen servicecheck.log4j.properties:
Code Block
log4j.logger.service-check=INFO, sclog

log4j.appender.sclog=org.apache.log4j.RollingFileAppender
log4j.appender.sclog.File=${jboss.server.log.dir}/service-check.log
log4j.appender.sclog.layout=org.apache.log4j.PatternLayout
log4j.appender.sclog.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

...

WildFly

Følgende script afvikles for at tilføje en ny JMX bruger på wildfly:

Code Block
wildfly\bin\add-user.sh

...

service-check.xml

Konfiguration af de enkelte checks for en service foretages ved tilretning af settings i service-check.xml filen. Nedenfor ses eksempel på konfiguration af Svareksponeringsservice XDS Adapteres service check, der omfatter:

  • Check i WildFly at servicen er registreret og aktiv
Code Block
<service name="sxa-documentmetadataprovider">
    <assertions resultCode="200">
        <mBeanCheck>
            <ObjectName>jboss.as:deployment=sxa-documentmetadataprovider.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
        </mBeanCheck>
    </assertions>
    <assertions resultCode="404">
        <mBeanCheck>
            <ObjectName>jboss.as:deployment=sxa-documentmetadataprovider.war,subsystem=undertow,servlet=MetadataProviderWS</ObjectName>
            <isRegistered>false</isRegistered>
        </mBeanCheck>
    </assertions>
</service>
<service name="sxa-documentprovider">
    <assertions resultCode="200">
        <mBeanCheck>
            <ObjectName>jboss.as:deployment=sxa-documentprovider.war,subsystem=undertow,servlet=DocumentProviderWS</ObjectName>
        </mBeanCheck>
    </assertions>
    <assertions resultCode="404">
        <mBeanCheck>
            <ObjectName>jboss.as:deployment=sxa-documentprovider.war,subsystem=undertow,servlet=DocumentProviderWS</ObjectName>
            <isRegistered>false</isRegistered>
        </mBeanCheck>
    </assertions>
</service>

Test af Service-check konfiguration

Efter konfiguration og deploy af ServiceCheck servicen, kan Svareksponeringsservice XDS Adaptere servicecheck testes med følgende kommandoer:

Code Block
curl –i localhost:9090/service-check/service?servicename=sxa-documentmetadataprovider 
curl –i localhost:9090/service-check/service?servicename=sxa-documentprovider 

...

  • 200 ved normal situation.
  • 404 hvis servicen ikke er deployed
  • 405 ved fejlkonfiguration af url til check af service-check funktionen (for at lette fejlsøgning)
  • 500 ved anden intern fejl ved forespørgsel i WildFly på den overvågede service

HTTP Versionsnummer-information på Svareksponeringsservice XDS-adaptere

Der kan hentes versionsnummer fra kørende Svareksponeringsservice XDS adaptere som givet i nedenstående tabel.

...

Komponent i Svareksponeringsservice XDS-adaptere

...

Endpoint for versionsnummer-information

...

Svareksponeringsservice XDS Registry Adapter

...

http://<host:port>/sxa-documentmetadataprovider/version

...

Svareksponeringsservice XDS Repository Adapter

...

http://<host:port>/sxa-documentprovider/version



Overvågning

Placering af overvågnings endpoint

Under listen af komponenter først i dette dokument, er der henvisninger til overvågningendpointene - status og alarm.

Overvågnings endpoint

Servicene udstiller et status- og alarmendpoint.


Generelt vedr status endpointet:

  • Returnerer status HTTP 200, hvis komponenten kan modtage forespørgsler, og 500 hvis den ikke er i stand til det.
  • Returnerer servicens version i json format

Generelt vedr Status omkring alarm endpoint:

  • Returnerer HTTP 500, hvis der er aktive alarmer og ellers HTTP 200.
  • Returnerer tekst i text/plain format. 
  • Der returneres kun tekst, hvis der en alarm.


Svareksponeringsservice XDS Registry Adapter:

  • status: returnerer altid HTTP 200, samt servicens version 
  • alarm: returnerer 500 hvis antal fejlkald til den bagvedliggende service fejler mere end konfigureret antal
    (sættes op vha. properties sxa.labservice.servicecheck.failurethreshold og sxa.labservice.servicecheck.duration)

Svareksponeringsservice XDS Repository Adapter:

  • status: returnerer altid HTTP 200, samt servicens version 
  • alarm: returnerer altid HTTP 200


Eksempel på status kald.

200 ok

{ "Version":"2.7.4" }


Eksempel på alarm kald for XDS registry adaptor, når servicens bagvedliggende service har fejlet for mange gange

500 Internal Server Error

Servicen har fejlet 6 gange. Den må ikke fejle mere end 5 gange i en given periode

Tabel 1 Versionsnummer for kørende service
Versionsnummeret hentes fra Mavens pom.properties indlejret i jar-filen for fællesartefaktet sxa-provider-common.

Test af versionsnummer

Efter konfiguration og deploy af Svareksponeringsservice XDS-adaptere kan versionsnummeret for fx Svareksponeringsservice XDS Registry Adapter hentes med:

Code Block
curl localhost:9090/sxa-documentmetadataprovider/version 

...

Code Block
Version: 1.0.0 

...

Overvågning

Svareksponeringsservice XDS-adaptere overvåges af service-check overvågningsside, hvis url kan aflæses i afsnit 2.

Placering af HTML overvågningsside

Under listen af komponenter først i dette dokument, er der henvisninger til overvågningssiderne.

Fortolkning af HTML overvågningsside

Alle overvågningssider returnerer enten status 200, hvis de i øjeblikket kører fint, status 404, hvis service ikke er deployed og status 500, hvis der er opstået en fejl, og komponenten derfor ikke virker korrekt.

Overvågningstype

Simpel WEB side der anvender JMX til at indhente oplysninger om Web services deployed på serveren. Som udgangspunkt overvåges følgende:

  • Verificer service er registreret og aktiveret i WildFly

...

.



Logfiler og fortolkning af disse

Alle logfiler er at finde i log/ under WildFly. Herunder findes en liste over alle logfiler med en beskrivelse af hvilke komponenter der skriver til dem.

Logfilnavn

Komponenter der skriver til denne

sxa-documentmetadataprovider-ws.log

Svareksponeringsservice XDS Registry Adapter

nsputil-sla-sxa-documentmetadataprovider.log

Svareksponeringsservice XDS Registry Adapter

sxa-documentmetadataprovider-ws-performance.log

Svareksponeringsservice XDS Registry Adapter

sxa-documentprovider-ws.log

Svareksponeringsservice XDS Repository Adapter

nsputil-sla-sxa-documentprovider.log

Svareksponeringsservice XDS Repository Adapter

sxa-documentprovider-ws-performance.log

Svareksponeringsservice XDS Repository Adapter

service-check.log

service-check


For alle webservices er der en tilhørende SLA-log, der sørger for at logge udvalgte elementer fra requests til webservicen.
Performance logs forekommer kun ved aktivering af performanceloggeren i komponenternes log4j konfiguration.

...