23 lines
1,018 B
Bash
Executable file
23 lines
1,018 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# Script writen by Evolix
|
|
|
|
_MAX_STATES_LIMIT=$(/sbin/pfctl -sm | /usr/bin/grep states | awk '{print $4}')
|
|
_WARNING_STATES_LIMIT=$((_MAX_STATES_LIMIT*50/100))
|
|
_CRTICAL_STATES_LIMIT=$((_MAX_STATES_LIMIT*65/100))
|
|
|
|
. /usr/local/libexec/nagios/utils.sh
|
|
|
|
_CHECK_STATES=$(/sbin/pfctl -si | /usr/bin/grep current | awk '{print $3}')
|
|
|
|
if [ "$_CHECK_STATES" -lt "$_WARNING_STATES_LIMIT" ];then
|
|
echo "OK: States number ($_CHECK_STATES) is below threshold (warn : $_WARNING_STATES_LIMIT / crit : $_CRTICAL_STATES_LIMIT / max : $_MAX_STATES_LIMIT)"
|
|
exit "$STATE_OK"
|
|
elif [ "$_CHECK_STATES" -ge "$_WARNING_STATES_LIMIT" ] && [ "$_CHECK_STATES" -lt "$_CRTICAL_STATES_LIMIT" ];then
|
|
echo "WARNING: States number is $_CHECK_STATES (threshold WARNING = $_WARNING_STATES_LIMIT, max = $_MAX_STATES_LIMIT)"
|
|
exit "$STATE_WARNING"
|
|
else
|
|
echo "CRITICAL: States number is $_CHECK_STATES (threshold CRITICAL = $_CRTICAL_STATES_LIMIT, max = $_MAX_STATES_LIMIT)"
|
|
exit "$STATE_CRITICAL"
|
|
fi
|