...
Файл /home/wnam/check_wnam.sh:
#!/bin/bash
# Check if WNAM wnam is running, return 1 if not.
# Used by keepalived to initiate a failover in case WNAM is down
WNAM_STATUS=$(/bin/ps ax | grep -w wnam.war | grep -w java)if [ "$WNAM_STATUS" != "" ]
then
exit 0
else
logger "WNAM is NOT running. Setting keepalived state to FAULT."
exit curl -s http://127.0.0.1:8080/api/statistic?json)
if [[ "$WNAM_STATUS" == *"statistic"* ]]
then
exit 0
elif [[ "$WNAM_STATUS" == *API_DISABLED* ]]
then
MONGO_ADDRESS=$(cat /home/wnam/application.yaml | grep mongodb:// | grep -Ev '^#' | awk -F "/" '{print $3}')
MONGO_PORT=$(echo $MONGO_ADDRESS | awk -F ":" '{print $2}')
MONGO_ADDRESS=$(echo $MONGO_ADDRESS | awk -F ":" '{print $1}')
MONGO_STATUS=$(echo "" > /dev/tcp/$MONGO_ADDRESS/$MONGO_PORT && echo "Opened" || echo "Closed")
if [[ "$MONGO_STATUS" == "Opened" ]]
then
exit 0
else
logger "Mongo is NOT running. Setting keepalived state to FAULT."
exit 1
fi
else
logger "WNAM is NOT running. Setting keepalived state to FAULT."
exit 1
fi
Файл /home/wnam/keepalived.state.sh:
...