Innehållsförteckning |
---|
Konfiguration av Virtualiseringsplattformen
VP 2.2.0 och tidigare
Enligt ärende SKLTP-163 finns det i VP 2.2.0 och tidigare ingen möjlighet till att överlagra parametrar i konfigurationsfiler. Detta är löst från och med release 2.2.1, men för installationer av tidigare version gäller att kompletta konfigurationsfiler måste finnas tillgängliga för applikationen, på dess classpath. Bifigade filer kan användas som utgångspunkt för att konfigurera en VP installation. Notera att detta är default-konfiguration som behöver kompletteras med specifika inställningar för specifika miljöer.
VP 2.2.1 och senare
Från och med version 2.2.1 överlagras defaultinställningar genom att på applikationens classpath skapa 2 filer, vp-config-override.properties och vp-security-override.properties. I dessa 2 filer definierar man endast de parametrar som skall skilja sig från de defaultinställningar som finns definierade i applikationen. I den mule-paketerade applikationen (vp-services-[version].zip) finns defaultinställningar definierade under <zip>/classes/vp-config.properties, respektive <zip>/classes/vp-security.properties.
Parametrar i vp-config.properties
Parameter = Unikt namn på konfigurations parameter.
Default värde = Värdet på parametern, så som det är konfigurerat i den paketerade VP applikationen. Kan överlagras med egna värden vid behov, se version av VP ovan för mer info om överlagring av parametrar.
Kommentar = Förklaring/hjälp för en parameter.
Applikationsinställningar
Generella inställningar för VP, som inte faller in under något specifikt område
Parameter | Default värde | Kommentar |
---|---|---|
IP_WHITE_LIST | 127.0.0.1 | Kommaseparerad lista innehållandes ip-adresser över konsumenter som vill kommunicera med VP via http. Exempel på Default tillåts 127.0.0.1, dvs kommunikation internt exempelvis för aggregerande tjänster och Engagemangsindex. |
VAGVALROUTER_INBOUND_URI | vagvalrouter/v1 | |
VAGVALROUTER_SENDERID | OU | |
VAGVALROUTER_HTTPSCONSUMERCONNECTORNAME | VPConsumerConnector | |
Dashboard för enkel statistik på tillgängliga tjänster
Parameter | Default värde | Kommentar |
---|---|---|
HTMLDASHBOARDSERVICE_INBOUND_URI | monitor/dashboard | Adress till den tjänst i VP som exponerar enkel statistik på de virtuella tjänster som finns driftsatta. |
HTMLDASHBOARDSERVICE_PORT | 22000 | Port till den tjänst i VP som exponerar enkel statistik på de virtuella tjänster som finns driftsatta. |
Monitorera om VP är operativ
VP exponerar en tjänst som kan användas för att avgöra om tjänsten VP är operativ, dvs att alla nödvändiga resurser som VP behöver finns tillgängliga och fungerar.
Notera att denna tjänst inte skall blandas ihop med virtuella tjänsten Ping eller PingForConfiguration.
Parameter | Default värde | Kommentar |
---|---|---|
PINGSERVICE_INBOUND_URI | monitor/ping | Adress (URI) till ping-tjänst. |
PINGSERVICE_PORT | 21000 | Port till ping-tjänst. |
PINGSERVICE_RESPONSE | TP is alive! | Texten som ping-tjänsten svarar med om VP är operativ. |
PINGSERVICE_ERROR_RESPONSE | TP ERROR: | Texten som ping-tjänsten svarar med om VP inte operativ. Efter : fyller VP på med felmeddelande. |
PINGSERVICE_TEST_LOGICAL_ADDRESS | TEST_SERVICE_HSA_ID | Den logiska adress som ping-tjänsten använder för att göra ett internt anrop till virtuella tjänsten Ping. För att detta skall fungera korrekt måste det gå att adressera virtuella Ping tjänsten i VP mad angiven logisk adress. Routing och behörighet för detta sätts upp i Tjänstekatalogen. |
PINGSERVICE_TEST_TIMEOUT_MS | 2000 | Timeout i millisekunder (2000 ms = 2 sekunder) som tjänsten har på sig att svara. |
PINGSERVICE_TEST_URL | https://${TP_HOST}:${TP_PORT}/${TP_BASE_URI}/Ping/1/rivtabp20 | Adress till den virtuella Ping tjänst som ping-tjänsten anropar. |
VP exponerar även tjänsten PingForConfiguration, definierad i RIV TA.
Parameter | Default värde | Kommentar |
---|---|---|
PINGFORCONFIGURATIONSERVICE_RIVTABP20_PORT | 23001 | Port till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP20_INBOUND_URI | PingForConfiguration/1/rivtabp20 | Adress (URI) till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP21_PORT | 23001 | Port till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP21_INBOUND_URI | PingForConfiguration/1/rivtabp21 | Adress (URI) till PingForConfiguration tjänsten. |
Hantering av VP's lokala cache för Tjänsteadresseringskatalogen
Konfiguration för tjänsten reset TAK cache, vlken används för att ladda in ny information från Tjänsteadresseringskatalogen.
Parameter | Default värde | Kommentar | |||||
---|---|---|---|---|---|---|---|
RESETVAGVALCACHE_INBOUND_URI | resetcache | Adress (URI) till tjänsten resetcache. Denna konfiguration ger att tjänsten är tillgänglig via http//:23000/resetcache | |||||
RESETVAGVALCACHE_PORT | 23000 | Port till tjänsten resetcache. | |||||
LOCAL_TAK_CACHE | ${user.home}${file.separator}.tk.localCache | Sökväg till filen som skall innehålla den lokala cachen av Tjänstekatalogen i VP.
|
Hantering av lokal cache av HSA's organisationsträd
Konfiguration för tjänsten reset HSA cache, vlken används för att ladda in ny information från HSA. Informationen från HSA representeras i form av XML filer som läses in i VP.
...
Kommaseparerad lista av sökvägar till filer som innehåller HSA information att ladda in i VP's HSA cache.
Varning |
---|
Notera att i VP 2.2.0 och VP 2.2.1 så finns det ingen default HSA fil paketerad. För att VP skall starta krävs därför att man uppdaterar vp-config.properties (VP 2.2.0) eller vp-config-override.properties (VP 2.2.1) med en sökväg till en existerande hsacachecomplementary.xml. För VP 2.2.1 finns en HSA fil med enbart SE noden att ladda ner här, läs installationsanvisning för VP 2.2.1 en för hur den skall appliceras. |
Köhantering, ActiveMQ
Inställningar för ActiveMQ och köer för hantering av loggar
Parameter | Default värde | Kommentar |
---|---|---|
SOITOOLKIT_MULE_AMQ_BROKER_URL | failover:(tcp://localhost:61616) | Adress för att koppla upp VP till ActiveMQ |
SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES | 3 | Antalet försök innan ett meddelande anses felaktigt och skickas till dead letter kön |
SOITOOLKIT_MULE_AMQ_REDELIVERY_DELAY | 10000 | Sätter tiden mellan nya omsändningsförsök, 10000 = 10 sekunder |
SOITOOLKIT_MULE_AMQ_NO_OF_CONSUMERS | 2 | Antalet konsumenter som kommer att startas upp och ta emot meddelanden |
SOITOOLKIT_LOG_INFO_QUEUE | SOITOOLKIT.LOG.INFO | Könamn för köer att hantera meddelande (request/response) loggar. |
SOITOOLKIT_LOG_ERROR_QUEUE | SOITOOLKIT.LOG.ERROR | Könamn för köer att hantera error loggar. |
Generellt tjänster, ändpunkter
...
TP_DISPATCH_MAX_THREADS_ACTIVE
...
TP_DISPATCH_MAX_THREADS_IDLE
...
TP_DISPATCH_MAX_THREADS_TTL
...
TP_RECEIVE_MAX_THREADS_ACTIVE
...
TP_RECEIVE_MAX_THREADS_IDLE
...
TP_RECEIVE_MAX_THREADS_TTL
...
SERVICE_TIMEOUT_MS
...
Ange i millesekunder, defaultvärde hur länge en ändpunkt skall vänta innan ett synkront anrop avbryts.
Info |
---|
Läs också det som beskrivs i rubriken Feature responseTimeout för konfiguration per tjänst. |
...
SOCKET_SO_LINGER_MS
...
SO_TIMEOUT is the timeout that a read() call will block. If the timeout is reached, a java.net.SocketTimeoutException will be thrown.
# If you want to block forever put this option to zero (the default value), then the read() call will block until at least 1 byte could be read.
Info |
---|
Sedan VP 2.2.2 |
...
VP_MULE_HTTPS_PRODUCER_CONNECTOR_TCPNODELAY
...
VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE
...
VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE_TIMEOUT_MS
...
VP_MULE_HTTPS_CONSUMER_CONNECTOR_TCPNODELAY
...
VP_MULE_HTTPS_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS
...
För att överlagra defaultinställningar behöver en fil med namnet vp-config-override.properties finnas på classpath.
För att överlagra defaultinställningar vad gäller säkerhet behöver en fil med namnet vp-security-override.properties finnas på classpath.
Varning |
---|
Not! Använd inte mellanslag i de värden som konfigureras i vp-[config|security]override.properties. Detta är inte ok, vp_instance_id=VALUE # whitespace after the value |
Instruktion för tidigare versioner av VP
SKLTP VP - Konfiguration av äldre versioner
Release Note - Virtualiseringsplatformen, för att läsa om förändringar mellan olika versioner
Instruktion för senaste versionen av VP
Release Note - Virtualiseringsplatformen, förändringar i properties sedan tidigare versioner
Typiska inställningar i vp-security-overide.properties
Kodblock |
---|
# Overrides applications default vp-config.properties
#Location where certificate files are found
TP_TLS_STORE_LOCATION=/etc/mule/conf
#Truststore settings, what CAs and certificates VP should trust when communicating with
#consumers and producers.
TP_TLS_STORE_TRUSTSTORE_TYPE=jks
TP_TLS_STORE_TRUSTSTORE_FILE=truststore.jks
TP_TLS_STORE_TRUSTSTORE_PASSWORD=password
#Settings for the producer connector, when VP acts as producer, receiving calls from consumers
TP_TLS_STORE_PRODUCER_TYPE=jks
TP_TLS_STORE_PRODUCER_FILE=keystore.jks
TP_TLS_STORE_PRODUCER_PASSWORD=password
TP_TLS_STORE_PRODUCER_KEY_PASSWORD=password
#Settings for the consumer connector, when VP acts as consumer, making calls to producers
TP_TLS_STORE_CONSUMER_TYPE=jks
TP_TLS_STORE_CONSUMER_FILE=keystore.jks
TP_TLS_STORE_CONSUMER_PASSWORD=password
TP_TLS_STORE_CONSUMER_KEY_PASSWORD=password |
Typiska inställningar i vp-config-override.properties
Kodblock | ||
---|---|---|
| ||
# # Copyright (c) 2013 Center for eHalsa i samverkan (CeHis). # <http://cehis.se/> # # This file is part of SKLTP. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # Standard properties for an external ActiveMQ broker, see soitoolkit-mule-jms-connector-activemq-external.xml. SOITOOLKIT_MULE_AMQ_BROKER_URL=failover:(tcp://localhost:61616) DEFAULT_MULE_AMQ_BROKER_URL=vm://localhost?broker.persistent=false&broker.useJmx=false SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES=3 SOITOOLKIT_MULE_AMQ_REDELIVERY_DELAY=10000 SOITOOLKIT_MULE_AMQ_NO_OF_CONSUMERS=2 # Default queue names for info end error log-events SOITOOLKIT_LOG_INFO_QUEUE=SOITOOLKIT.LOG.STORE SOITOOLKIT_LOG_ERROR_QUEUE=SOITOOLKIT.LOG.ERROR # Control if event-logging should be done to JMS or not. ENABLE_LOG_TO_JMS=true TP_DISPATCH_MAX_THREADS_ACTIVE=50 TP_DISPATCH_MAX_THREADS_IDLE=25 TP_DISPATCH_MAX_THREADS_TTL=10000 TP_RECEIVE_MAX_THREADS_ACTIVE=50 TP_RECEIVE_MAX_THREADS_IDLE=25 TP_RECEIVE_MAX_THREADS_TTL=10000 ################################################################################################# # Properties for the HTTPS Producer connector, VP as a producer # # VP_MULE_HTTPS_PRODUCER_CONNECTOR_TCPNODELAY=true|false # If set, transmitted data is not collected together for greater efficiency but sent # immediately. # # VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE_TIMEOUT_MS=0 # HTTP Keep-Alive timeout (milliseconds), set on connector supporting Keep-Alive only # # VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE=true|false # Set to true if this connector should support Keep-Alive ################################################################################################# VP_MULE_HTTPS_PRODUCER_CONNECTOR_TCPNODELAY=true VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE=true VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE_TIMEOUT_MS=70000 ################################################################################################# # Properties for the HTTPS Consumer connector/s (Keep-Alive and not Keep-Alive), VP as a consumer # # VP_MULE_HTTPS_CONSUMER_CONNECTOR_TCPNODELAY=true|false # If set, transmitted data is not collected together for greater efficiency but sent # immediately. # # VP_MULE_HTTPS_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS=0 # HTTP Keep-Alive timeout (milliseconds), set on connector supporting Keep-Alive only # # SOCKET_SO_LINGER_MS=0 # This sets the SO_LINGER value. This is related to how long (in milliseconds) the socket # will take to close so that any remaining data is transmitted correctly. # # CLIENT_SO_TIMEOUT_MS=0 # SO_TIMEOUT is the timeout that a read() call will block. If the timeout is reached, a java.net.SocketTimeoutException will be thrown. # If you want to block forever put this option to zero (the default value), then the read() call will block until at least 1 byte could be read. ################################################################################################# VP_MULE_HTTPS_CONSUMER_CONNECTOR_TCPNODELAY=true VP_MULE_HTTPS_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS=70000 SOCKET_SO_LINGER_MS=0 CLIENT_SO_TIMEOUT_MS=30000 ######################################################################################## # Properties for the HTTP Consumer connector/s, VP as a consumer # # VP_MULE_HTTP_CONSUMER_CONNECTOR_TCPNODELAY |
...
=true|false # If set, transmitted data is not collected together for greater efficiency but sent # immediately. # # VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE |
...
==true|false # Set to true if this connector should support Keep-Alive # # VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS |
...
=0 # HTTP Keep-Alive timeout (milliseconds), set on connector supporting Keep-Alive only # # VP_MULE_HTTP_CONSUMER_CONNECTOR_SOCKET_ |
...
SO_ |
...
Ange i millesekunder hur länge VP skall vänta på att en klient har leveretat hela sitt svar
Info |
---|
Borttagen i release VP 2.2.2, all hantering av default timeout definieras i SERVICE_TIMEOUT_MS, läs också det som beskrivs i rubriken Feature responseTimeout för konfiguration per tjänst. |
LINGER_MS=0 # This sets the SO_LINGER value. This is related to how long (in milliseconds) the socket # will take to close so that any remaining data is transmitted correctly. ######################################################################################### VP_MULE_HTTP_CONSUMER_CONNECTOR_TCPNODELAY=true VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE=true VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS=70000 VP_MULE_HTTP_CONSUMER_CONNECTOR_SOCKET_SO_LINGER_MS |
...
=0 |
...
VP_MULE_HTTP_CONSUMER_CONNECTOR_CLIENT_SO_TIMEOUT_MS |
...
SO_TIMEOUT is the timeout that a read() call will block. If the timeout is reached, a java.net.SocketTimeoutException will be thrown.
# If you want to block forever put this option to zero (the default value), then the read() call will block until at least 1 byte could be read.
Info |
---|
Sedan VP 2.2.2 |
...
TP_HOST
...
TP_PORT
...
TP_PORT_HTTP
...
=30000 # TP Specific TP_HOST=localhost TP_PORT=20000 TP_PORT_HTTP=8080 TP_BASE_URI |
...
Inställningar för att VP´s koppling till Tjänsteadresseringskatalogen (TAK)
...
TP_SOKVAGVALSINFO_URL
...
http://localhost:8082/tp-vagval-admin-services-1.3.1/SokVagvalsInfo
...
TK_HOST
...
GETSUPPORTEDSERVICECONTRACTS_OUTBOUND_URI
...
tp-vagval-admin-services/GetSupportedServiceContracts
...
Version 2 av adress till tjänsten i TAK för att hämta information om vilka tjänstekontrakt som stöds av en verksamhet/system (logisk adress).
Info |
---|
Sedan VP 2.2.2 |
...
GETSUPPORTEDSERVICECONTRACTS_RIVTABP21_PORT
...
GETLOGICALADDRESSESBYSERVICECONTRACT_OUTBOUND_URI
...
tp-vagval-admin-services-1.3.1/GetLogicalAddresseesByServiceContract
...
Adress till tjänsten i TAK för att hämta information om vilka verksamheter/system (logisk adress) en konsument har behörighet att anropa, givet tjänstekontrakt.
Info |
---|
Borttagen i release VP 2.2.2 |
...
GETLOGICALADDRESSESBYSERVICECONTRACT_RIVTABP21_PORT
...
23001
Port till tjänsten i TAK för att hämta information om vilka verksamheter/system (logisk adress) en konsument har behörighet att anropa, givet tjänstekontrakt.
Info |
---|
Borttagen i release VP 2.2.2. Ersätts av GETLOGICALADDRESSESBYSERVICECONTRACT_V1_INBOUND_ENDPOINT |
...
Ersätter GETLOGICALADDRESSESBYSERVICECONTRACT_RIVTABP21_PORT för att kunna styra om
man vill ha http eller https internt. Default till samma port som tidigare.
Info |
---|
Sedan VP 2.2.2 |
...
Info |
---|
Sedan VP 2.2.2 |
Feature keep-alive
För de virtuella tjänster i VP som har stöd för keep-alive finns det möjlighet att per tjänst styra om keep-alive skall vara aktiverat eller ej. Ett default värde (feature.keepalive) sätts för alla virtuella tjänster som sedan kan överlagras av respektive tjänst som vill aktivera keep-alive. Aktiveringen av keep-alive görs enligt en given konvention:
Konvention: feature.keepalive.<service contract namespace>=true
Exemple: feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true #
Parameter | Default värde | Kommentar |
---|---|---|
feature.keepalive | false | Default värde som sätter alla virtuella tjänster till att keep-alive inte skall vara aktiverat. Detta överlagras av respektive tjänst som vill ha keep-alive påslaget enligt konventionen beskriven ovan. |
Feature responseTimeout
Info | ||
---|---|---|
| ||
VP 2.2.2 |
För de virtuella tjänster i VP som har stöd för individuell inställning av response timeout går detta att styra per tjänst. Ett default värde (SERVICE_TIMEOUT_MS) sätts för alla virtuella tjänster som sedan kan överlagras av repektive tjänst enligt följande tillvägagångssätt.
Konvention: feature.featureresponsetimeout.<service contract namespace>=true
Exemple: feature.featureresponsetimeout.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=5000
Default sätts response timeout i parametern SERVICE_TIMEOUT_MS.
Parametrar i vp-security.properties
Sökväg till katalog innehållandes certifikat
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_LOCATION | ../certs | Katalogen som innehåller certifikatsfiler. |
Truststore
En truststore innehåller certifikat från andra intressenter som vp förväntas kommunicera med och lita på.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_TRUSTSTORE_TYPE | jks | format på truststore |
TP_TLS_STORE_TRUSTSTORE_FILE | truststore.jks | filnamn på truststore innehållandes certifikat som vp förväntas lita på |
TP_TLS_STORE_TRUSTSTORE_PASSWORD | password | lösenordet på truststore |
Keystore som producent
Keystore som innehåller autentiseringsinformation som skall skickas till konsumenter när VP agerar som producent, dvs när VP tar emot information.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_PRODUCER_TYPE | jks | format på keystore |
TP_TLS_STORE_PRODUCER_FILE | tp.jks | fiknamn på klientcertifikat |
TP_TLS_STORE_PRODUCER_PASSWORD | password | |
TP_TLS_STORE_PRODUCER_KEY_PASSWORD | password |
Keystore som konsument
Keystore som innehåller autentiseringsinformation som skall skickas till producenter när VP agerar som konsument, dvs när VP skickar information.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_CONSUMER_TYPE | jks | format på keystore |
TP_TLS_STORE_CONSUMER_FILE | client.jks | fiknamn på klientcertifikat |
TP_TLS_STORE_CONSUMER_PASSWORD | password | |
TP_TLS_STORE_CONSUMER_KEY_PASSWORD | password |
Konfigurera loggning av LogEvents
VP 2.2.0 och tidigare
För att undvika att LogEvents loggas både till en kö och till en logfil kan en appender konfigureras med Treshold parametern. Detta i kombination med att INFO nivå är satt kommer att göra att LogEvents hamnar på en kö men inte i logfilen. Notera att Treshold är en global inställning som påverkar all konfiguration i aktuell <vp-services>/classes/log4j.xml.
Kodblock | ||
---|---|---|
| ||
<appender class="org.apache.log4j.RollingFileAppender" name="ROLLINGFILE">
<param value="${mule.home}/logs/mule-app-vp.log" name="File"/>
<param value="10" name="MaxBackupIndex"/>
<param value="20MB" name="MaxFileSize"/>
<param name="Threshold" value="ERROR"/>
<layout class="org.apache.log4j.PatternLayout">
<param value="%-5p %d [%t] %c: %m%n" name="ConversionPattern"/>
</layout>
</appender>
<!--Set to INFO to store log events, ERROR or WARN will disable log events -->
<logger name="org.soitoolkit.commons.mule.messageLogger">
<level value="INFO" />
</logger> |
VP 2.2.1 och senare
I VP 2.2.1 och senare finns det möjlighet att konfigurera att LogEvents skall hamna på kö eller hamna på kö och i VP's mule-log. Detta görs genom att i <vp-services>/classes/log4j.xml uppdatera de parametrar som styr loggning av LogEvents. En separat konfiguration för hanteringen av loggning till kö med <logger name="org.soitoolkit.commons.mule.messageLogger"> och en separat konfiguration för loggning till vald appender med <logger name="se.skl.tp.vp.util.EventLogger">.
Kodblock | ||
---|---|---|
| ||
<!--
For logging events to QUEUE using EventLogger:
INFO puts logevents and errorevents on log queue
ERROR will only put errorevents on log queue
-->
<logger name="org.soitoolkit.commons.mule.messageLogger">
<level value="INFO" />
</logger>
<!--
For logging events to APPENDER using EventLogger:
INFO logs logevents and errorevents to selected appender
ERROR will only log errorevents to selected appender
-->
<logger name="se.skl.tp.vp.util.EventLogger">
<level value="INFO"/>
</logger> |
VP 2.2.2 och senare
I VP 2.2.2 infördes möjligheten styra loggning av payload av eller på. All loggning av LogEvents styrs från VP 2.2.2 enbart med följande konstruktion, se kommentar i exemplet för olika lognivåer.
Kodblock |
---|
<!--
For logging events to QUEUE using EventLogger:
DEBUG puts logevents (with payload) and errorevents on log queue
INFO puts logevents (without payload) and errorevents on log queue
ERROR will only put errorevents on log queue
-->
<logger name="org.soitoolkit.commons.mule.messageLogger">
<level value="INFO" />
</logger> |
...
=vp
# TAK Specific
TK_HOST=localhost
TK_PORT=8080
# Routing and authorization services in TAK
TP_SOKVAGVALSINFO_URL=${TP_SOKVAGVALSINFO_TESTSTUB_URL}
TP_SOKVAGVALSINFO_TESTSTUB_URL=http://${TK_HOST}:${TK_PORT}/tak-services/SokVagvalsInfo/v2
########################################################################################
# Properties for WSDL-query re-write of URL's (supporting WSDL-lookup using ?wsdl)
# when VP is fronted with a reverse-proxy/load-balancer that changes any of the below
# properties before forwarding to VP.
# Refer to response transformer: se.skl.tp.vp.util.wsdl.WsdlQueryReferencedUrlsResponseTransformer
#########################################################################################
VP_HTTP_HEADER_NAME_FORWARDED_PROTO=X-Forwarded-Proto
VP_HTTP_HEADER_NAME_FORWARDED_HOST=X-Forwarded-Host
VP_HTTP_HEADER_NAME_FORWARDED_PORT=X-Forwarded-Port
##############################################################################
# Properties for service "VagvalRouter"
#
# Mandatory comma separated list of ip addresses (or subdomains, e.g 127.0.0 for all ip adresses under that domain)
# that should be valid to call virtual services (VP) using http (and of course valid headers for authorization).
# When using https this list is not used.
#
# IP_WHITE_LIST=127.0.0,127.1.2.3,127.4.6.7
#
# Mandatory identifier of this VP instance to be used when communicating over http with other
# SKLTP components
#
# VP_INSTANCE_ID=THIS_VP_INSTANCE_ID
#
# Optional http header to be used by e.g a load balancer to set the sender ip adress. A typical scenario
# is when a service consumer calls VP through a load balancer and VP would like to have information
# regarding the consumers ip adress.
#
# VAGVALROUTER_SENDER_IP_ADRESS_HTTP_HEADER=X-Forwarded-For
#
##############################################################################
IP_WHITE_LIST=127.0.0.1 #List of allowed ip-numbers for consumer
VP_INSTANCE_ID=THIS_VP_INSTANCE_ID # The identification of the VP instance
VAGVALROUTER_SENDER_IP_ADRESS_HTTP_HEADER=X-Forwarded-For
###VAGVALROUTER_SENDERID=2.5.4.5
VAGVALROUTER_SENDERID=OU
VAGVALROUTER_INBOUND_URI=vagvalrouter/v1
VAGVALROUTER_HTTPSCONSUMERCONNECTORNAME=VPConsumerConnector
VAGVALROUTER_PROPAGATE_CORRELATION_ID_FOR_HTTPS=false
# Properties for service "PingService"
PINGSERVICE_INBOUND_URL=http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/monitor/ping
PINGSERVICE_TEST_LOGICAL_ADDRESS=Ping
PINGSERVICE_TEST_URL=${PINGFORCONFIGURATIONSERVICE_RIVTABP21_INBOUND_ENDPOINT}
PINGSERVICE_RESPONSE=TP is alive!
PINGSERVICE_ERROR_RESPONSE=TP ERROR:
PINGSERVICE_TEST_TIMEOUT_MS=2000
##############################################################################
# PingForConfiguration
#
# PINGFORCONFIGURATIONSERVICE_RIVTABP21_INBOUND_ENDPOINT (https/http)
# https://${TP_HOST}:${TP_PORT}/${TP_BASE_URI}/services/PingForConfiguration/1/rivtabp21?connector=VPProducerConnector
# http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/services/PingForConfiguration/1/rivtabp21
##############################################################################
# RIVTABP21
PINGFORCONFIGURATIONSERVICE_RIVTABP21_INBOUND_ENDPOINT=http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/itintegration/monitoring/PingForConfiguration/1/rivtabp21
APPLICATION_NAME=VP
###########################################################################################
## Deprecated default routing configuration (VG#VE). From version 3.3.0.
##
## DEPRECATED_DEAFAULT_ROUTING_DELIMITER - Should be #
## If empty the default routing is turned off.
## DEPRECATED_DEFAULT_ROUTING_CONTRACTS - Contracts allowed to be used with defaultrouting.
## Comma separated list with contract namespaces
## If not defined or empty all contracts is allowed.
## DEPRECATED_DEFAULT_ROUTING_SENDERS- Consumers allowed to use default routing
## Comma separated list of consumers
## If not defined or empty all consumers is allowed.
#########################################################################################
DEPRECATED_DEAFAULT_ROUTING_DELIMITER=#
DEPRECATED_DEFAULT_ROUTING_CONTRACTS=urn:riv:ehr:accesscontrol:AssertCareEngagementResponder:1,urn:riv:insuranceprocess:healthreporting:ReceiveMedicalCertificateQuestionResponder:1,urn:riv:insuranceprocess:healthreporting:ReceiveMedicalCertificateAnswerResponder:1
DEPRECATED_DEFAULT_ROUTING_SENDERS=TSTNMT2321000156-B02,SE5565594230-BCQ
#################################################################
# Properties for service "resetVagvalCache"
#
# RESETVAGVALCACHE_INBOUND_URL=URL where reset TAK cache should be exposed
# LOCAL_TAK_CACHE=Path to file where local TAK cache should exist
# RESETVAGVALCACHE_TIMEOUT_MS=Timeout used when fetching from TAK
#################################################################
LOCAL_TAK_CACHE=${user.home}${file.separator}.tk.localCache # < ver. 3.3.0 #
takcache.persistent.file.name=${user.home}${file.separator}.tk.localCache # >= ver. 3.3.0 #
RESETVAGVALCACHE_INBOUND_URL=http://${TP_HOST}:23000/resetcache
RESETVAGVALCACHE_TIMEOUT_MS=30000
#######################################################################
# Properties for service "resetHsaCache"
#
# RESETHSACACHE_INBOUND_URL=URL where reset HSA cache should be exposed
# RESETHSACACHE_TIMEOUT_MS=Max response time for reset HSA cache
#######################################################################
RESETHSACACHE_INBOUND_URL=http://${TP_HOST}:24000/resethsacache
RESETHSACACHE_TIMEOUT_MS=10000
##############################################################################
# GetSupportedServiceContract
#
# Services supports both http and https
##############################################################################
# V1 (https default for backwards compatible with vp 2.2.2 and earlier)
GETSUPPORTEDSERVICECONTRACTS_RIVTABP21_PORT=23001
GETSUPPORTEDSERVICECONTRACTS_V1_INBOUND_ENDPOINT=https://${TP_HOST}:${GETSUPPORTEDSERVICECONTRACTS_RIVTABP21_PORT}/${TP_BASE_URI}/GetSupportedServiceContracts/1/rivtabp21?connector=VPProducerConnector
GETSUPPORTEDSERVICECONTRACTS_OUTBOUND_URL=http://${TK_HOST}:${TK_PORT}/tp-vagval-admin-services/GetSupportedServiceContracts
# V2
GETSUPPORTEDSERVICECONTRACTS_V2_INBOUND_ENDPOINT=http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/services/GetSupportedServiceContracts/2/rivtabp21
GETSUPPORTEDSERVICECONTRACTS_V2_OUTBOUND_URL=http://${TK_HOST}:${TK_PORT}/tp-vagval-admin-services/GetSupportedServiceContracts/v2
###########################################
# GetLogicalAddressesByServiceContract
#
# Services supports both http and https
###########################################
# V1 default uses https on port 23001 to be backwards compatible with 2.2.1 and earlier releases
GETLOGICALADDRESSESBYSERVICECONTRACT_V1_INBOUND_ENDPOINT=https://${TP_HOST}:23001/${TP_BASE_URI}/GetLogicalAddresseesByServiceContract/1/rivtabp21?connector=VPProducerConnector
# V2 uses default http to skip overhead with using SSL
GETLOGICALADDRESSESBYSERVICECONTRACT_V2_INBOUND_ENDPOINT=http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/services/GetLogicalAddresseesByServiceContract/2/rivtabp21
#############################################################################################################
# Response timeout Feature properties
# It is possible to control response timeout on each service in VP, if the service supports it.
# Default values for all services are defined in SERVICE_TIMEOUT_MS, to override follow the convention
# described below and make sure the service to use supports this feature.
#
# Convention: feature.featureresponsetimeout.<service contract domain>=5000
# Example: feature.featureresponsetimeout.crm.scheduling=5000
#############################################################################################################
#The timeout for a response if making a synchronous endpoint call
SERVICE_TIMEOUT_MS=30000
#Defaults for services provided by VP it self
feature.featureresponsetimeout.feature.featureresponsetimeout.urn.riv.itintegration.monitoring.PingForConfigurationResponder.1=5000
#############################################################################################################
# If RETRY_ROUTE_AFTER_MS>0 vp will make a second attempt to call producer after RETRY_ROUTE_AFTER_MS ms.
#############################################################################################################
RETRY_ROUTE_AFTER_MS=0
#####################################################################################################
# Keep alive Feature properties #
# #
# It is possible to control keep-alive settings on each service in VP. If a service has keep-alive #
# enabled all consumers and producers are affected. Default setting is used by all services and #
# is set to feature.keepalive=false. To enable keep-alive for one service use this convention: #
# #
# Convention: feature.keepalive.<service contract namespace>=true #
# Example: feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true #
#####################################################################################################
#Default setting is false, used by all services that does not specify any specific configuration
feature.keepalive=false
#####################################################################################################
# HSA cache properties #
# #
# HSA_FILES=<file1,file,filex> #
#####################################################################################################
# List if files to be read by HSA cache, first file is master, rest is complementary
HSA_FILES=hsacachecomplementary.xml
######################################################
## Test properties ##
######################################################
PING_TESTSTUB_INBOUND_URL=http://localhost:10000/test/Ping_Service |
Komplett sammanställning av alla inställningar som finns i VP
Konfiguration för senaste stabila versionen av vp
Terminering av SSL/TLS framför VP
Om SSL/TLS trafik termineras framför VP, i t ex en reverse-proxy, behöver dessa konfigurationer göras:
- Propagera certifikat och inkommande HTTP-header(s) från reverse-proxy till VP:
- Sätta certifikat för inkommande anrop i HTTP-header: x-vp-auth-cert
- Lägga till IP-nr (inre) för reverse-proxy till VP's whitelist property (i vp-config.properties): IP_WHITE_LIST
- Propagera HTTP-header om den är satt: x-rivta-original-serviceconsumer-hsaid
- Propagera IP-nr för inkommande anrop i HTTP-header med namn enligt property i vp-config.properties (namn kan konfigureras): VAGVALROUTER_SENDER_IP_ADRESS_HTTP_HEADER=X-Forwarded-For
Ref: SKLTP VP SAD - Arkitekturella krav#Arkitekturellakrav-FK-5,Ursprungligavsändare
Sätta HTTP "forwarded" headers för att stödja WSDL-lookup (t ex som: https://vp/service_x?wsdl):
Ref: SKLTP - Lastbalanserare / Reverse-proxy
Namn på HTTP headers kan ändras i vp-config.properties (se exempel på konfigurationsfil ovan):Inget format VP_HTTP_HEADER_NAME_FORWARDED_PROTO=X-Forwarded-Proto VP_HTTP_HEADER_NAME_FORWARDED_HOST=X-Forwarded-Host VP_HTTP_HEADER_NAME_FORWARDED_PORT=X-Forwarded-Port
Exempel: HTTP headers prefixade med VP:
Inget format VP_HTTP_HEADER_NAME_FORWARDED_PROTO=VP-X-Forwarded-Proto VP_HTTP_HEADER_NAME_FORWARDED_HOST=VP-X-Forwarded-Host VP_HTTP_HEADER_NAME_FORWARDED_PORT=VP-X-Forwarded-Port
Konfiguration av specifika features
Feature keep-alive
För de virtuella tjänster i VP som har stöd för keep-alive finns det möjlighet att per tjänst styra om keep-alive skall vara aktiverat eller ej. Ett default värde (feature.keepalive) sätts för alla virtuella tjänster som sedan kan överlagras av respektive tjänst som vill aktivera keep-alive. Aktiveringen av keep-alive görs enligt en given konvention:
Konvention: feature.keepalive.<service contract namespace>=true
Exemple: feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true #
Parameter | Default värde | Kommentar |
---|---|---|
feature.keepalive | false | Default värde som sätter alla virtuella tjänster till att keep-alive inte skall vara aktiverat. Detta överlagras av respektive tjänst som vill ha keep-alive påslaget enligt konventionen beskriven ovan. |
Feature responseTimeout
För de virtuella tjänster i VP som har stöd för individuell inställning av timeout går detta att styra per tjänst, såväl connection som response timeouten styrs av denna inställning. Ett default värde (SERVICE_TIMEOUT_MS) sätts för alla virtuella tjänster som sedan kan överlagras av repektive tjänst enligt följande tillvägagångssätt.
Konvention: feature.featureresponsetimeout.<service contract namespace>=true
Exemple: feature.featureresponsetimeout.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=5000
Default sätts connection och response timeouten i parametern SERVICE_TIMEOUT_MS.
Konfigurera loggning av LogEvents
Konfiguration av loggning görs i <mule-hom>/apps/<vp-services>/classes/log4j.xml, notera att det inte krävs någon omstart av applikationen, ändringar slår direkt i runtime.
From versioner för Mule 3.7.0 används log4j2.xml. Det är då inte generellt möjligt att göra ändringar utan omstart. Däremot kan man göra ändringar via jmx.
Exempel på logEvents
DEBUG
Kodblock | ||
---|---|---|
| ||
** logEvent-debug.start ***********************************************************
IntegrationScenarioId=
ContractId=
LogMessage=xreq-in
ServiceImpl=vagval-dynamic-routing-flow
Host=33.33.33.1 (33.33.33.1)
ComponentId=1133a557-b5cc-11e3-bd36-2da34769782a
Endpoint=https://localhost:20000/vp/tjanst1
MessageId=15c27c95-b5cc-11e3-bd36-2da34769782a
BusinessCorrelationId=15cc67b1-b5cc-11e3-bd36-2da34769782a
BusinessContextId=
ExtraInfo=
-senderid=tp
-originalServiceconsumerHsaid=null
-source=se.skl.tp.vp.util.LogTransformer
-cxf_service=urn:skl:tjanst1:rivtabp20
-rivversion=RIVTABP20
-receiverid=vp-test-producer
Payload=<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:riv:interoperability:headers:1" xmlns:urn1="urn:riv:itintegration:registry:1">
<soapenv:Header>
<ns2:To xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="urn:skl:tjanst1:rivtabp20">vp-test-producer</ns2:To>
</soapenv:Header>
<soapenv:Body>
<ns3:getProductDetailElem xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="urn:skl:tjanst1:rivtabp20">
<productId>Exception</productId>
</ns3:getProductDetailElem>
</soapenv:Body>
</soapenv:Envelope>
** logEvent-debug.end ************************************************************* |
INFO
Kodblock | ||
---|---|---|
| ||
** logEvent-info.start ***********************************************************
IntegrationScenarioId=
ContractId=
LogMessage=xreq-in
ServiceImpl=vagval-dynamic-routing-flow
Host=33.33.33.1 (33.33.33.1)
ComponentId=1133a557-b5cc-11e3-bd36-2da34769782a
Endpoint=https://localhost:20000/vp/tjanst1
MessageId=15c27c95-b5cc-11e3-bd36-2da34769782a
BusinessCorrelationId=15cc67b1-b5cc-11e3-bd36-2da34769782a
BusinessContextId=
ExtraInfo=
-senderid=tp
-originalServiceconsumerHsaid=null
-source=se.skl.tp.vp.util.LogTransformer
-cxf_service=urn:skl:tjanst1:rivtabp20
-rivversion=RIVTABP20
-receiverid=vp-test-producer
Payload=
** logEvent-info.end ************************************************************* |
Konfiguration av felmeddelanden (från VP 3.1.3)
VP00x-felstexter är nu konfigurerbara och kan sättas i override-property-fil. Följande felutskrifter är default:
Kodblock |
---|
# #########################################################################################################
#
# Felkoder enligt riv-ta:
# ---------------------------
# VP001 Riv-version inte konfigurerad för den anslutningspunkt som den
# virtualiserade tjänsten publicerar.
# VP002 SERIALNUMBER ej tillgängligt i konsumentens certifikat i namn-attributet.
# VP003 ReceiverId ej ifylld i RivHeadern i inkommande meddelande.
# VP004 Det finns inget vägval i Tjänstekatalogen som matchar ReceiverId,
# Tjänstekontrakt och dagens datum.
# VP005 Det finns ingen tjänsteproducent definierad i tjänstekatalogen som matchar Riv-version,
# konvertering mellan rivversioner inte implementerat.
# VP006 Det finns mer än 1 tjänsteproducent definierad i tjänstekatalogen som matchar ReceiverId,
# Tjänstekontrakt och dagens datum. Tyder på att tjänstekatalogen är felkonfigurerad.
# VP007 I tjänstekatalogen finns ingen behörighet definierad för den tjänstekonsument som anropar
# att samverka med logisk adress på valt tjänstekontrakt.
# VP008 Ingen kontakt med Tjänstekatalogen.
# VP009 Fel vid kontakt med tjänsteproducenten.
# VP010 Ingen adress angiven i tjänsteproducenten i tjänstekatalogen.
# VP011 Anropande konsument är inte betrodd att göra http-anrop till VP
# VP012 Nödvändiga resurser saknas för att VP skall fungera.
#
#
# Beskrivning av properties
# ---------------------------
# Varje property innehåller en text samt en optionell platshållare {}
# Platshållaren ersätts i VP med metadata och mer specifik information.
# Denna är för närvarande inte konfigurerbar
# #########################################################################################################
VP001 = No RIV version configured
VP002 = No sender ID (SERIALNUMBER) found in certificate
VP003 = No receiverId (logical address) found in message header
VP004 = No receiverId (logical address) found for {}
VP005 = No receiverId (logical address) with matching Riv-version found for {}
VP006 = More than one receiverId (logical address) with matching Riv-version found for {}
VP007 = Authorization missing for {}
VP008 = No contact with TAK at startup, and no local cache to fallback on, not possible to route call
VP009 = Error connecting to service producer at address {}
VP010 = Physical Address field is empty in Service Producer for {}
VP011 = Caller was not on the white list of accepted IP-addresses. {}
VP012 = Severe problem, VP does not have all necessary resources to operate. {} |
Platshållaren {} markerar plats för information genererad av vp.
Konfigurera socketloggning (fr.o.m. VP 3.2.0)
Det är vid behov möjligt att låta VP logga mule meddelanden till en socket, funktionalitet framtagen för att kunna logga till Loghandlern eller liknande applikationer.
För att aktivera loggningen måste dels host och port konfigureras samt vilka meddelanden som skall loggas.
Konfigurera host/port för socketappendern
Konfigureras i ${sys:mule.home}/conf/vp-socketappender.properties.
Exempel:
Kodblock | ||||
---|---|---|---|---|
| ||||
#############################################################################################################
# Socketlogging properties
#
# socketappender.host - hostname/ip for logging to
# socketappender.port - port number logging to
#
# Default values - No default values. If not configured socketlogging will be turned off.
#############################################################################################################
socketappender.host=ine-dit-app01.sth.basefarm.net
socketappender.port=43706
|
Konfigurera socket-loggning (från VP 3.2.0)
Info |
---|
Se också SKLTP VP-Socket-loggning |
Konfigureras i propertyfilen ${sys:mule.home}/conf/vp-config-override.properties.
Exempel:
Kodblock | ||||
---|---|---|---|---|
| ||||
########################################################################################
## Socket logger
##
## USE_SOCKET_LOGGER - true or false
## Default is false
## SOCKET_LOGGER_CATEGORIES - Message types to be logged
## If not defined or empty all categories will be logged
## Valid categories: xresp-out, xresp-in, xreq-out, xreq-in
## SOCKET_LOGGER_SERVICE_CONTRACTS - Service contracts to be logged
## If not defined or empty all contracts will be logged
#########################################################################################
USE_SOCKET_LOGGER=true
SOCKET_LOGGER_CATEGORIES=xresp-out
SOCKET_LOGGER_SERVICE_CONTRACTS= |
Konfigurering VP 3.3.0
LOCAL_TAK_CACHE ersätts med takcache.persistent.file.name
Kodblock | ||||
---|---|---|---|---|
| ||||
## LOCAL_TAK_CACHE=${file.separator}opt${file.separator}mule${file.separator}spool${file.separator}.tk.localCache ##
takcache.persistent.file.name=${file.separator}opt${file.separator}mule${file.separator}spool${file.separator}.tk.localCache |
Möjlighet att konfigurera användningen av den gamla default routingen av formen VG#VE
Kodblock | ||||
---|---|---|---|---|
| ||||
###########################################################################################
## Deprecated default routing configuration (VG#VE)
##
## DEPRECATED_DEAFAULT_ROUTING_DELIMITER - Should be #
## If empty the default routing is turned off.
## DEPRECATED_DEFAULT_ROUTING_CONTRACTS - Contracts allowed to be used with defaultrouting.
## Comma separated list with contract namespaces
## If not defined or empty all contracts is allowed.
## DEPRECATED_DEFAULT_ROUTING_SENDERS- Consumers allowed to use default routing
## Comma separated list of consumers
## If not defined or empty all consumers is allowed.
#########################################################################################
DEPRECATED_DEAFAULT_ROUTING_DELIMITER=#
DEPRECATED_DEFAULT_ROUTING_CONTRACTS=urn:riv:ehr:accesscontrol:AssertCareEngagementResponder:1,urn:riv:insuranceprocess:healthreporting:ReceiveMedicalCertificateQuestionResponder:1,urn:riv:insuranceprocess:healthreporting:ReceiveMedicalCertificateAnswerResponder:1
DEPRECATED_DEFAULT_ROUTING_SENDERS=TSTNMT2321000156-B02,SE5565594230-BCQ |