File: //lib64/nagios/plugins/a2_nf_conntrack_count.sh.all
#!/bin/bash
#
# Monitors NF conntrack value
# SYSENG-14373
#
_chk_name="nf_conntrack_monitor"
_nf_warn="50"
_nf_crit="75"
if [[ ! -f /proc/sys/net/netfilter/nf_conntrack_count || ! -f /proc/sys/net/netfilter/nf_conntrack_max ]]; then
echo "nf_conntrack - nf_conntrack module does not appear to be loaded!"
exit 2
else
_nfcount=$(cat /proc/sys/net/netfilter/nf_conntrack_count)
_nfmax=$(cat /proc/sys/net/netfilter/nf_conntrack_max)
_nf_warn_value=$(( _nfmax * _nf_warn / 100 ))
_nf_crit_value=$(( _nfmax * _nf_crit / 100 ))
_percentage_count=$(( _nfcount * 100 / _nfmax ))
if [[ ${_percentage_count} -gt ${_nf_crit} ]]; then
echo "nf_conntrack_count - ${_nfcount} NFconntrack is getting full (${_percentage_count}%) :sadserver:, please investigate."
exit 2
elif [[ ${_percentage_count} -gt ${_nf_warn} ]]; then
echo "nf_conntrack_count - ${_nfcount} WARN"
exit 1
else
echo "nf_conntrack_count - ${_nfcount} OK"
exit 0
fi
fi