Status probe - konfiguration
Configuration ska ligga i map config.
application.properties
Property | Värde | Beskrivning |
---|---|---|
4000 | Default socket timeout i millisekunder, vilket är timeout för att vänta på data. | |
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 |
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:
genom att ange ett värde i
probeservice.file
som anger "ej tillgänglig", se detaljer nedangenom 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> |