Skip to content

Instantly share code, notes, and snippets.

@juzam
Created March 10, 2014 09:04
Show Gist options
  • Save juzam/9461706 to your computer and use it in GitHub Desktop.
Save juzam/9461706 to your computer and use it in GitHub Desktop.
Nagios/Icinga nf_conntrack_count check
#!/bin/sh [0/329]
# takes warning and critical percentage as $1 and $2 parameters
# if not specified defaults to 95% and 97% respectivley
STATUS_CRITICAL=1
STATUS_WARNING=2
STATUS_OK=0
WARNING_LEVEL=${1:-95}
CRITICAL_LEVEL=${2:-97}
MAX_CONNTRACK=`/sbin/sysctl -n net.netfilter.nf_conntrack_max`
REAL_CONNTRACK=`/sbin/sysctl -n net.netfilter.nf_conntrack_count`
# warning 95% max, critical 97% max
WARNING=$(( $MAX_CONNTRACK / 100 * $WARNING_LEVEL))
CRITICAL=$(( $MAX_CONNTRACK / 100 * $CRITICAL_LEVEL))
if [ $REAL_CONNTRACK -gt $CRITICAL ]
then
echo "CRITICAL - Conntrack Table Almost Full. Actual: $REAL_CONNTRACK Max: $MAX_CONNTRACK"
exit $STATUS_CRITICAL
else
if [ $REAL_CONNTRACK -gt $WARNING ]
then
echo "WARNING - Conntrack Table Almost Full. Actual: $REAL_CONNTRACK Max: $MAX_CONNTRACK"
exit $STATUS_WARNING
else
echo "OK - Conntrack Table Actual: $REAL_CONNTRACK Max: $MAX_CONNTRACK"
exit $STATUS_OK
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment