AxelKonfiguration - bjoben/axel GitHub Wiki

Konfiguration

Hur man konfigurerar Axel skiljer sig för vilken container man valt att köra i, däremot kan man använda sig av samma fil- och propertynamn.

Här är länkar som beskriver konfigurationen för:

Konfiguration av FW och LB

Beroende på deployment-konfiguration måste man konfigurera brandväggsregler och åtkomst till de olika tjänsterna, även mellan modulerna sinsemellan. Alla tjänster bör inte exponeras utåt, t.ex. det web-baserade managementkonsollerna eller den interna SHS-DS-tjänsten.

Se dessa dokument för mer information om vilka kopplingar som kan vara aktuella:

  • AxelDeployment
  • AxelSystemSamverkan
  • ShsSystemSamverkan
  • RivShsSystemSamverkan

Http Endpoints

Axel registrerar ett antal Http endpoints i den container som Axel är deployad i. Det görs genom att en !CamelHttpTransportServlet registreras. Det innebär att servleten i Tomcat är registrerad i Tomcats Web Container och i Karaf är den registrerad i den embeddade Jetty instansen. I Karaf är servleten registrerad med url pattern /axel/* och i Tomcat är den registrerad med url pattern /* under respektive war fils context root.

SHS Broker

|| Http Endpoint || Beskrivning || Standardvärde Axel Karaf || Standardvärde Axel Tomcat || || Receive Service Endpoint || Den endpoint där Axel tar emot SHS meddelanden både från andra SHS noder och från interna SHS klienter. En externt åtkomlig adress till denna endpoint ska registreras som adress i den pulibka SHS-katalogen. || http://[[server]]:8181/axel/shs/rs || http://[[server]]/[[shs-broker-war-ctx-root]]/rs || || Delivery Service Endpoint || Används för att lista och hämta tillgängliga asynkrona SHS-meddelanden. || http://[[server]]:8181/axel/shs/ds || http://[[server]]/[[shs-broker-war-ctx-root]]/ds || || Rest Services Root Endpoint || Root för de REST-baserade tjänster som finns i axel. Genom ett anrop till root URL:en kan man lista beskrivningar av alla tillgängliga tjänster || http://[[server]]:8181/axel/services || http://[[server]]/[[shs-broker-war-ctx-root]]/services || || Axel !WebConsole || Axels administrationsgränssnitt || http://[[server]]:8181/axel/admin || Ej tillämpligt || || Axel SHS Broker !WebConsole || Administrationsgränssnittet för SHS brokern || Ej tillämplig || http://[[server]]/[[shs-broker-war-ctx-root]]/ ||

RIV/SHS Bridge

|| Http Endpoint || Beskrivning || Standardvärde Axel Karaf || Standardvärde Axel Tomcat || || RIV/SHS RIV in endpoint || Den endpoint där Axel tar emot meddelanden i RIV format som ska vidarebefordras till en SHS mottagare. || http://[[server]]:8181/axel/riv || http://[[server]]/[[riv-shs-war-ctx-root]]/riv || || Axel RIV/SHS Bridge !WebConsole || Administrationsgränssnittet för RIV/SHS bryggan. För mer information kring användandet se RivShsServiceAdministration här. || http://[[server]]:8181/axel/admin || http://[[server]]/[[riv-shs-war-ctx-root]]/ ||

RIV/SSEK Bridge

|| Http Endpoint || Beskrivning || Standardvärde Axel Karaf || Standardvärde Axel Tomcat || || RIV/SSEK RIV in endpoint || Den endpoint där Axel tar emot meddelanden i RIV format som ska vidarebefordras till en SSEK mottagare. || http://[[server]]:8181/axel/riv2ssek || http://[[server]]/[[riv-ssek-war-ctx-root]]/riv2ssek || || Axel RIV/SSEK Bridge !WebConsole || Administrationsgränssnitt RIV/SSEK bryggan || http://[[server]]:8181/axel/admin || http://[[server]]/[[riv-ssek-war-ctx-root]]/ ||

Konfigurationsfiler

SHS Broker

healthChecks.yaml

Innehåller inställningar för de hälsokontroller som Axel ska utföra när Axels !HealthView MBean anropas via !PingForConfiguration tjänsten eller direkt. Konfigurationen görs i ett http://www.yaml.org/ YAML baserat konfigurationsformat. Lägg in ett listelement för varje hälsokontroll som ska utföras. Varje listelement startar med en deklaration av hälsokontrollens javaklass inklusive paketnamn. Därefter anger man ett antal nyckel-värde par med konfigurationsvärden för den specifika hälsokontrollen.

Exempel på en konfigurationsfil med tre hälsokontroller:

- !!se.inera.axel.monitoring.JmxHealthCheck
  healthCheckId: se.inera.axel.camelRoute.removeSuccessfullyTransferredMessages
  expectedAttributes: {State: Started}
  objectNamePattern: org.apache.camel:context=*shs-scheduler,type=routes,name="removeSuccessfullyTransferredMessages"
- !!se.inera.axel.monitoring.MongoDbConnectionPoolHealthCheck
  healthCheckId: se.inera.axel.mongoDbConnectionPool
  objectNamePattern: com.mongodb:type=ConnectionPool,*
- !!se.inera.axel.monitoring.JmxHealthCheck
  healthCheckId: se.inera.axel.ldapCache
  objectNamePattern: net.sf.ehcache:type=Cache,name=ldap,*

Hälsokontroller

Här följer en beskrivning av de hälsokontroller som inkluderas med Axel. Det går att utöka dessa genom att utveckla fler hälsokontroller som implementerar interfacet se.inera.axel.monitoring.HealthCheck.

se.inera.axel.monitoring.JmxHealthCheck

Används för att kontrollera att det finns en eller flera JMX bönor som matchar det angivna objectName mönstret i den JVM där Axel är deployad. Det finns även möjlighet att kontrollera värdet på ett eller flera attribut i JMX-bönan.

|| Egenskap || Beskrivning || || healthCheckId || Ett id som identifierar hälsokontrollen, bör vara unikt || || objectNamePattern || Ett object name mönster som matchar den eller de JMX-bönor som man vill kontrollera. || || expectedAttributes || En map med attributnamn och deras förväntade värde. Observera att förväntat värde skiljer på stora och små bokstäver. ||

se.inera.axel.monitoring.MongoDbConnectionPoolHealthCheck

En subklass till JmxHealthCheck som utökar hälsokontrollerna i JmxHealthCheck genom att varna när Axel använder alla tillgänglia kopplingar mot !MongoDb.

|| Egenskap || Beskrivning || || healthCheckId || Ett id som identifierar hälsokontrollen, bör vara unikt || || objectNamePattern || Ett objectNamePattern som matchar de MongoConnectionPoolMXBean JMX-bönorna som man vill kontrollera. || || expectedAttributes || En map med attributnamn och deras förväntade värde. Observera att förväntat värde skiljer på stora och små bokstäver. ||

se.inera.axel.activemq.cfg

Innehåller inställningar för kopplingen mot ActiveMQ.

|| Namn || Beskrivning || Exempel || || activemq.brokerURL || Transport URL:en till ActiveMQ brokern. http://activemq.apache.org/configuring-transports.html Mer information || tcp://localhost:61616?trace=false&soTimeout=60000 || || activemq.maxConnections || Maximalt antal kopplingar i poolen. || 8 ||

se.inera.axel.mongodb.cfg

Innehåller inställningar för kopplingen mot MongoDB.

|| Namn || Beskrivning || Exempel || || mongodb.uri || MongoDB connection string som ska användas för koppling mot Axels databas. För en beskrivning av formatet se http://docs.mongodb.org/manual/reference/connection-string/ här || mongodb://localhost/axel?w=1 ||

se.inera.axel.shs.broker.cfg

Innehåller inställningar för shs-brokern

|| Namn || Beskrivning || Exempel || || nodeId || Namnet på den aktuella Axelnoden. Visas i administrationsgränssnittet och loggas i historiken i SHS labeln. || ${karaf.name} || || orgId || Organisationsnumret som Axelinstansen servar. || 0000000000 || || shs.externalReceiveServiceUrl || Den adress som ska användas av andra SHS aktörer för att skicka till Axelinstansens receive service. Används som förvalt värde när man lägger upp nya adresser i LDAP-katalogen. || http://axel.inera.se:8181/axel/shs/rs || || shsDsHttpEndpoint || Camel konsumentendpoint för delivery service. || servlet:// || || shsDsPathPrefix || Den path där delivery service ska registrera sig. || /shs/ds || || shsRsHttpEndpoint || Camel konsumentendpoint för receive service. || servlet:// || || shsRsPathPrefix || Den path där receive service ska registrera sig. || /shs/rs || || shsRsKeyStoreParameters.resource || Sökvägen till key storen som innehåller klient certifikaten. Kan vara en filsökväg, en classpath resurs eller en URL i den ordningen. För mer information gå till http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-KeyStoreParameters KeyStoreParameters || /certs/shs-test-server.p12 || || shsRsKeyStoreParameters.type || Specificerar typ av key store som pekas ut av shsRsKeyStoreParameters.resource || pkcs12
jks
jceks || || shsRsKeyStoreParameters.password || Lösenordet till key storen som pekas ut av shsRsKeyStoreParameters.resource || mySecret || || shsRsTrustStoreParameters.resource || Sökvägen till key storen som innehåller de CA certifkat som Axel ska lita på. Kan vara en filsökväg, en classpath resurs eller en URL i den ordningen. För mer information gå till http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-TrustManagersParameters TrustManagerParameters || /certs/ca-certs.jks || || shsRsTrustStoreParameters.type || Specificerar typ av key store som pekas ut av shsRsTrustStoreParameters.resource || pkcs12
jks
jceks || || shsRsTrustStoreParameters.password || Lösenordet till key storen som pekas ut av shsRsTrustStoreParameters.resource || mySecret || || shs.ldap.ehcache.config.location || Sökvägen till config filen för ehcache. || classpath:shs-ehcache.xml
file:${karaf.base}/etc/shs-ehcache.xml || || shs.ldap.url || Standardvärde för urlen till en shskatalogserver. || ldap://localhost:389/L=SHS
ldap://public.openshs.se:389/L=SHS || || shs.ldap.connect.timeout || Standardvärde för hur lång tid det maximalt får ta att upprätta en anslutning till katalogservern. Specificeras i millisekunder. || 4000 || || shs.ldap.read.timeout || Standardvärde för hur lång tid axel väntar på ett svar från katalogservern innan försöket avbryts. Specificeras i millisekunder. || 4000 || || shs.ldap.pool.minIdle || Minimalt antal vilande katalogserverkopplingar i poolen / katalogserver|| 1 || || shs.ldap.pool.maxTotal || Maximalt totalt antal aktiva katalogserverkopplingar / katalogserver || 15 || || shs.ldap.pool.maxActive || Maximalt antal aktiva katalogserverkopplingar per typ (read-only|read-write) / katalogserver || 8 || || shs.ldap.pool.timeout || Minimalt antal millisekunder som en katalogserverkoppling kan ligga i poolen innan den kan rensas. || 300000 || || shs.ldap.[[1-3]].url || I Axel kan upp till 3 katalogservrar för läsning konfigureras. I en typisk installation har man två stycken där den första är en lokal server och den andra pekar på den globala SHS-katalogen. || ldap://localhost:389/L=SHS || || shs.ldap.[[1-3]].connect.timeout || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.connect.timeout || || shs.ldap.[[1-3]].read.timeout || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.read.timeout || || shs.ldap.[[1-3]].pool.minIdle || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.pool.minIdle || || shs.ldap.[[1-3]].pool.maxTotal || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.pool.maxTotal || || shs.ldap.[[1-3]].pool.maxActive || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.pool.maxActive || || shs.ldap.[[1-3]].pool.timeout || Valfri: ange ett värde om standardvärdet ska ändras för den specifika katalogservern. || Se shs.ldap.pool.timeout || || shs.ldap.admin.url || Valfri: Ange om urlen till adminstration av katalogservern skiljer sig från läs URL:en. || ldap://update.openshs.se:389/L=SHS || || shs.ldap.admin.userDn || Användarnamnet som ska användas vid uppkoppling till katalogservern. || cn=admin,L=SHS || || shs.ldap.admin.password || Lösenord till katalogservern. || ldappassword || || shs.ldap.admin.connect.timeout || Standardvärde för hur lång tid det maximalt får ta att upprätta en anslutning till katalogservern vid administration. Specificeras i millisekunder. || 2000 || || shs.ldap.admin.read.timeout || Standardvärde för hur lång tid axel väntar på ett svar från katalogservern, vid administration, innan försöket avbryts. Specificeras i millisekunder. || 2000 || || shs.ldap.admin.[[1-3]].url || Valfri: ange ett värde om värdet ska skilja sig från standardvärdet. || Se shs.ldap.```[[1-3]]```.url || || shs.ldap.admin.[[1-3]].userDn || Valfri: ange ett värde om värdet ska skilja sig från standardvärdet. || Se shs.ldap.admin.userDn || || shs.ldap.admin.[[1-3]].password || Valfri: ange ett värde om värdet ska skilja sig från standardvärdet. || Se shs.ldap.admin.password || || shs.ldap.admin.[[1-3]].connect.timeout || Valfri: ange ett värde om värdet ska skilja sig från standardvärdet. || Se shs.ldap.admin.connect.timeout || || shs.ldap.admin.[[1-3]].read.timeout || Valfri: ange ett värde om värdet ska skilja sig från standardvärdet. || Se shs.ldap.admin.read.timeout || || fileMessageStoreBaseDirPath || Valfri: Bassökvägen till en katalog i filsystemet där meddelanden ska sparas när den filbaserade message storen används. || ${user.home}/.axel/shs/${orgId}/messageStore || || shsRsEnableStreamCaching || || true
false || || releaseStaleFetchingInProgressCron || Cron-uttryck som bestämmer när metoden releaseStaleFetchingInProgress() ska köras. För mer information gå till http://camel.apache.org/quartz.html#Quartz-UsingCronTriggers Quartz-UsingCronTriggers och http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger Crontrigger Tutorial|| 0+0/10+*+*+*+* || || archiveMessagesCron || Cron-uttryck som bestämmer när metoden för arkivering meddelanden skall köras.|| 0+0/10+*+*+*+* || || removeArchivedMessagesCron || Cron-uttryck som bestämmer när metoden för radering av arkiverade meddelanden ska köras.|| 0+0/10+*+*+*+* || || removeSuccefullyTransferedMessagesCron || Cron-uttryck som bestämmer när metoden för radering av lyckade neddelanden ska köras. || 0+0/10+*+*+*+* || || removeArchivedMessageEntriesCron || Cron-uttryck som bestämmer när metoden för radering av meddelande-entries för arkiverade meddelanden ska köras. || 0+0/10+*+*+*+* || || archiveMessageOldLimit || Meddelanden har funnits kortare tid än detta gränsvärde kommer att ignoreras vid körning av arkiveringsmetoden. Specificeras i sekunder. || 3600 || || removeArchivedMessagesOldLimit || Meddelanden som har varit arkiverade kortare tid än detta gränsvärde kommer att ignoreras vid körning av metoden som raderar arkiverade meddelanden. Specificeras i sekunder. || 3600 || || removeArchivedMessageEntriesOldLimit || Meddelanden som har varit arkiverade kortare tid än detta gränsvärde kommer att ignoreras vid körning av metoden som raderar arkiverade meddelande-entries. Specificeras i sekunder. || 3600 ||

shs-ehcache.xml

Denna fil innehåller bl.a denna ldap-cache-konfiguration:

    <cache name="ldap"
        maxEntriesLocalHeap="1000"
        eternal="false"
        timeToIdleSeconds="3600"
        timeToLiveSeconds="3600"
        overflowToDisk="false"
        maxElementsOnDisk="10000000"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
        statistics="true"
    />

RIV/SHS Bridge

se.inera.axel.riv.shs.cfg

Här ligger inställningar för RIV/SHS-bryggan.

|| Namn || Beskrivning || Exempel || || rivInBridgeEndpoint || HTTP endpoint för mottagning av RIV-meddelanden. || servlet:// || || rivInBridgePathPrefix || Path där RIV endpointen ska registreras || /riv || || shsInBridgeEndpoint || Camel endpoint för mottagning av shs meddelanden från SHS brokern. || direct-vm:shs2riv || || rsEndpoint || Camel endpoint som bryggan ska använda för att skicka shs-meddelanden till brokern. || direct-vm:shs:rs || || keyStoreParameters.resource || RIV certifikat, som behövs för kommunikation med NTP.
http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-KeyStoreParameters KeyStoreParameters || /certs/tp.jks || || keyStoreParameters.type || Specificerar typ av key store som pekas ut av keyStoreParameters.resource || pkcs12
jks
jceks || || keyStoreParameters.password || Lösenordet till key storen som pekas ut av keyStoreParameters.resource || mySecret || || trustStoreParameters.resource || Sökvägen till key storen som innehåller de CA certifkat som Axel ska lita på. Kan vara en filsökväg, en classpath resurs eller en URL i den ordningen. För mer information gå till http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-TrustManagersParameters TrustManagerParameters || /certs/ca-certs.jks || || trustStoreParameters.type || Specificerar typ av key store som pekas ut av trustStoreParameters.resource || pkcs12
jks
jceks || || trustStoreParameters.password || Lösenordet till key storen som pekas ut av trustStoreParameters.resource || mySecret ||

SHS kommandoradsklient

shs-cmdline.properties

Inställningar för SHS kommandoradsklienten.

|| Namn || Beskrivning || Exempel || || shsServerUrl || Receive service url till den Axel instans som kommandoradsklienten ska skicka koppla sig mot. || https://axel-server:8181/axel/shs/rs || || shsServerUrlDs || Delivery service url till den Axel instans som kommandoradsklienten ska koppla sig mot. || http://axel-server:8181/axel/shs/ds || || keyStoreParameters.resource || Certifikat, som behövs för kommunikation med SHS brokern.
KeyStoreParameters || /certs/tp.jks || || keyStoreParameters.type || Specificerar typ av key store som pekas ut av keyStoreParameters.resource || pkcs12
jks
jceks || || keyStoreParameters.password || Lösenordet till key storen som pekas ut av keyStoreParameters.resource || mySecret || || trustStoreParameters.resource || Sökvägen till key storen som innehåller de CA certifkat som kommandoradsklienten ska lita på. Kan vara en filsökväg, en classpath resurs eller en URL i den ordningen. För mer information gå till http://camel.apache.org/camel-configuration-utilities.html#CamelConfigurationUtilities-TrustManagersParameters TrustManagerParameters || /certs/ca-certs.jks || || trustStoreParameters.type || Specificerar typ av key store som pekas ut av trustStoreParameters.resource || pkcs12
jks
jceks || || trustStoreParameters.password || Lösenordet till key storen som pekas ut av trustStoreParameters.resource || mySecret ||

Integrationskomponenter

En del tycker att själva integrationskomponenterna är konfiguration, de borde istället läsa detta dokument.

⚠️ **GitHub.com Fallback** ⚠️