Better bkctld check output
This commit is contained in:
parent
dcba6d5634
commit
b1400c83b6
38
bkctld
38
bkctld
|
@ -474,24 +474,48 @@ sub_rm() {
|
||||||
sub_check() {
|
sub_check() {
|
||||||
cur_time=$(date "+%s")
|
cur_time=$(date "+%s")
|
||||||
return=0
|
return=0
|
||||||
|
nb_crit=0
|
||||||
|
nb_warn=0
|
||||||
|
nb_ok=0
|
||||||
|
nb_unkn=0
|
||||||
|
output=""
|
||||||
|
|
||||||
jails=$(ls "${JAILDIR}")
|
jails=$(ls "${JAILDIR}")
|
||||||
for jail in ${jails}; do
|
for jail in ${jails}; do
|
||||||
if [ -f "${JAILDIR}/${jail}/var/log/lastlog" ]; then
|
if [ -f "${JAILDIR}/${jail}/var/log/lastlog" ]; then
|
||||||
last_conn=$(stat --format=%Y "${JAILDIR}/${jail}/var/log/lastlog")
|
last_conn=$(stat --format=%Y "${JAILDIR}/${jail}/var/log/lastlog")
|
||||||
date_diff=$(( (cur_time - last_conn) / (60*60) ))
|
date_diff=$(( (cur_time - last_conn) / (60*60) ))
|
||||||
if [ "${date_diff}" -gt "${CRITICAL}" ]; then
|
if [ "${date_diff}" -gt "${CRITICAL}" ]; then
|
||||||
echo "CRITICAL - ${jail} - ${date_diff} hours"
|
nb_crit=$((nb_crit + 1))
|
||||||
return=2
|
output="${output}CRITICAL - ${jail} - ${date_diff} hours\n"
|
||||||
|
[ "${return}" -le 2 ] && return=2
|
||||||
elif [ "${date_diff}" -gt "${WARNING}" ]; then
|
elif [ "${date_diff}" -gt "${WARNING}" ]; then
|
||||||
echo "WARNING - ${jail} - ${date_diff} hours"
|
nb_warn=$((nb_warn + 1))
|
||||||
[ "${return}" -ne 2 ] && return=1
|
output="${output}WARNING - ${jail} - ${date_diff} hours\n"
|
||||||
|
[ "${return}" -le 1 ] && return=1
|
||||||
|
else
|
||||||
|
nb_ok=$((nb_ok + 1))
|
||||||
|
output="${output}OK - ${jail} - ${date_diff} hours\n"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "CRITICAL - ${jail} doesn't have lastlog !"
|
nb_unkn=$((nb_unkn + 1))
|
||||||
return=2
|
output="${output}UNKNOWN - ${jail} doesn't have lastlog !\n"
|
||||||
|
[ "${return}" -le 3 ] && return=3
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
[ "${return}" -eq 0 ] && echo "OK - Nothing to signal"
|
|
||||||
|
[ "${return}" -ge 0 ] && header="OK"
|
||||||
|
[ "${return}" -ge 1 ] && header="WARNING"
|
||||||
|
[ "${return}" -ge 2 ] && header="CRITICAL"
|
||||||
|
[ "${return}" -ge 3 ] && header="UNKNOW"
|
||||||
|
|
||||||
|
printf "%s - %s UNK / %s CRIT / %s WARN / %s OK\n\n" "${header}" "${nb_unkn}" "${nb_crit}" "${nb_warn}" "${nb_ok}"
|
||||||
|
|
||||||
|
printf "${output}" | grep -E "^UNKNOW"
|
||||||
|
printf "${output}" | grep -E "^CRITICAL"
|
||||||
|
printf "${output}" | grep -E "^WARNING"
|
||||||
|
printf "${output}" | grep -E "^OK"
|
||||||
|
|
||||||
exit "${return}"
|
exit "${return}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue