Status probe - konfiguration

Configuration ska ligga i map config.

 

application.properties

Property

Värde

Beskrivning

Property

Värde

Beskrivning

socket.timeout.ms

4000

Default socket timeout i millisekunder, vilket är timeout för att vänta på data.

connection.timeout.ms

3000

Timeout i millisekunder tills en anslutning är etablerad.

server.port

8000

Den port som svarar.

server.servlet.context-path

/mule-probe

Inbound url

probeservice.file

/var/spool/vp-camel/probeFile

Probe service file

probe.down.crireria

DOWN

Vilket värde i probeservice.file som ska svara http 503 tjänsten är inte tillgänglig för LB

probe.return.ok.string

OK

Vilket värde ska returneras för att LB när inga attribut är inställda och allt är OK

services.file

/opt/statusProbe/config/services.json

path till config fil med services

Services.json (namn finns i application.properties)

Det är json-fil som beskriver alla services.

I "statusValues" ska vi ställa in alla regexp som vi ska söka efter i service response.

[ { "name": "vp-camel", "url" : "http://ine-tit-app04.sth.basefarm.net:8080/status", "connectTimeout": "1000", "socketTimeout": "2000", "statusValues": ["ServiceStatus[\\W]*Started", "Value2"] }, { "name": "annan_app", "url" : "http://url:port/status" } ]

Applikationens probe file

Proben kan konfigureras att svara med HTTP 503 (Unavailable) på dessa sätt:

  1. genom att ange ett värde i probeservice.filesom anger "ej tillgänglig", se detaljer nedan

  2. genom att ta bort probeservice.file(från filsystemet)

Applikationens probe file pekas ut via property probeservice.file, se konfigurationsexempel ovan.

probeservice.file - sökväg där probe file ligger

probe.down.crireria - värdet i probe file som kommer att göra att probe signalerar "ej tillgänglig" (vätdet ställas in i application.properties)

 

Exempel på probeFile som signalerar inte tillgänglig:

probeFile

DOWN


Log4j2 exemple

<Configuration status="WARN" monitorInterval="30"> <Properties> <Property name="LOG_PATTERN"> %d %-5p [%t] %-30c - %m%n </Property> <Property name="log.dir"> /var/log/statusProbe </Property> </Properties> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="${LOG_PATTERN}"/> </Console> <RollingRandomAccessFile name="RollingRandomAccessFile" fileName="${log.dir}/statusProbe.log" filePattern="${log.dir}/statusProbe.log.%i"> <PatternLayout> <Pattern>%d %-5p [%t] %-30c - %m%n</Pattern> </PatternLayout> <Policies> <!-- KB, MB --> <SizeBasedTriggeringPolicy size="50 MB"/> </Policies> <DefaultRolloverStrategy fileIndex="min" max="10"/> </RollingRandomAccessFile> </Appenders> <Loggers> <!-- Application logging --> <AsyncLogger name="se.skltp.components.statusprobe" level="INFO"/> <Root level="WARN"> <AppenderRef ref="RollingRandomAccessFile"/> </Root> </Loggers> </Configuration>