Você pode coletar essas informações através da configuração do sar no cron. E, em seguida, crie uma sonda personalizada no nagios para ler os resultados do sar dos últimos 10 minutos
Existe algum comando ou script para dar o / p como "troca usada nos últimos 10 minutos é x"? Eu queria usar isso para o meu monitoramento nagios ..
Eu usei SAR no meu script abaixo e estou tentando executar em servidores individuais para o meu monitoramento nagios. Alguém pode sugerir como posso obter o aviso de troca e trocar valores críticos no meu cheque abaixo? Tentei calculá-lo dinamicamente ao executar o abaixo em cada servidor, mas está relatando erros.
Por favor, sugira.
# 2 = CRITICAL (SWAP usage higher than CRITICAL)
# 3 = UNKNOWN (Wrong usage)
SWAP_WARN=
SWAP_CRIT=
SWAPOUT_ACTIVITY_TEST=
## GET SWAP Warning and Critical values from the Machine
# 2 = CRITICAL (SWAP usage higher than CRITICAL)
# 3 = UNKNOWN (Wrong usage)
SWAP_WARN=
SWAP_CRIT=
SWAPOUT_ACTIVITY_TEST=
**## GET SWAP Warning and Critical values from the Machine
temp=$(swapon -s | tail -n 1 | awk '{print $3}' )
SWAP_WARN=$(echo '$(temp)*.20' | bc)
SWAP_CRIT=$(echo '$(temp)*.40' | bc)**
## FETCH ARGUMENTS
##while getopts "h:" OPTION; do
# case "${h}" in
# h)
# usage
# exit 3
# ;;
# ?)
# usage
# exit 3
# ;;
# esac
#done
## CHECK ARGUMENTS
if [ -z ${SWAP_WARN} ] || [ -z ${SWAP_CRIT} ] || [ ${SWAP_WARN} -gt ${SWAP_CRIT} ] ; then
usage
exit 3
fi
## GET SWAP INFO FROM MACHINE
cd /var/log/sa
FOR_VALUE=sa
FOR_DATE=$(date | awk '{print $3}')
SA=$FOR_VALUE$FOR_DATE
SWAPOUT_ACTIVITY_TEST=$(sar -S -f $SA | tail -n 2| head -n 1 | awk '{print $4}')
## CHECK SWAPPING ON MACHINE
if [ ${SWAPOUT_ACTIVITY_TEST} -lt ${SWAP_WARN} ]; then
## SWAP IS OK
LINE="OK! Swapout size in last 10 minutes : ${SWAPOUT_ACTIVITY_TEST} | swapout_size=${SWAPOUT_ACTIVITY_TEST}B;${SWAP_WARN};${SWAP_CRIT};"
echo $LINE
exit 0
elif [ ${SWAPOUT_ACTIVITY_TEST} -gt ${SWAP_WARN} ] && [ ${SWAPOUT_ACTIVITY_TEST} -lt ${SWAP_CRIT} ] || [ ${SWAPOUT_ACTIVITY_TEST} -eq ${SWAP_WARN} ]; then
## SWAP IS IN WARNING STATE
LINE="WARNING! Swapout size in last 10 minutes: ${SWAPOUT_ACTIVITY_TEST} | swapout_size=${SWAPOUT_ACTIVITY_TEST}B;${SWAP_WARN};${SWAP_CRIT};"
:
## FETCH ARGUMENTS
##while getopts "h:" OPTION; do
# case "${h}" in
# h)
# usage
# exit 3
# ;;
# ?)
# usage
# exit 3
# ;;
# esac
#done
## CHECK ARGUMENTS
if [ -z ${SWAP_WARN} ] || [ -z ${SWAP_CRIT} ] || [ ${SWAP_WARN} -gt ${SWAP_CRIT} ] ; then
usage
exit 3
fi
## GET SWAP INFO FROM MACHINE
cd /var/log/sa
FOR_VALUE=sa
FOR_DATE=$(date | awk '{print $3}')
SA=$FOR_VALUE$FOR_DATE
SWAPOUT_ACTIVITY_TEST=$(sar -S -f $SA | tail -n 2| head -n 1 | awk '{print $4}')
## CHECK SWAPPING ON MACHINE
if [ ${SWAPOUT_ACTIVITY_TEST} -lt ${SWAP_WARN} ]; then
## SWAP IS OK
LINE="OK! Swapout size in last 10 minutes : ${SWAPOUT_ACTIVITY_TEST} | swapout_size=${SWAPOUT_ACTIVITY_TEST}B;${SWAP_WARN};${SWAP_CRIT};"
echo $LINE
exit 0
elif [ ${SWAPOUT_ACTIVITY_TEST} -gt ${SWAP_WARN} ] && [ ${SWAPOUT_ACTIVITY_TEST} -lt ${SWAP_CRIT} ] || [ ${SWAPOUT_ACTIVITY_TEST} -eq ${SWAP_WARN} ]; then
## SWAP IS IN WARNING STATE
LINE="WARNING! Swapout size in last 10 minutes: ${SWAPOUT_ACTIVITY_TEST} | swapout_size=${SWAPOUT_ACTIVITY_TEST}B;${SWAP_WARN};${SWAP_CRIT};"
:
Você pode coletar essas informações através da configuração do sar no cron. E, em seguida, crie uma sonda personalizada no nagios para ler os resultados do sar dos últimos 10 minutos
Tente este comando .. ele fornecerá as informações sobre o uso de troca a cada 10 minutos
sar -W -f /var/log/sa/sa(date)
Exemplo de saída
05:00:01 AM pswpin / s pswpout / s 05:10:03 AM 0,00 0,77 05:20:03 10h, 45h 05:30:02 10,38 1,36 Média: 7,18 16,38
Tags swap