60 lines
1.8 KiB
Bash
Executable File
60 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
################################################################################
|
|
# BSD 3-Clause License
|
|
#
|
|
# Copyright (c) 2019, Alban Vidal <alban.vidal@zordhak.fr>
|
|
# All rights reserved.
|
|
#
|
|
# Please see license file on root of this directory
|
|
################################################################################
|
|
|
|
# !! GIT FILE !!
|
|
# https://framagit.org/zorval/scripts/check-nrpe
|
|
|
|
################################################################################
|
|
|
|
# ConnTrack files
|
|
FILE_CONNTRACK_MAX="/proc/sys/net/netfilter/nf_conntrack_max"
|
|
FILE_CONNTRACK_COUNT="/proc/sys/net/netfilter/nf_conntrack_count"
|
|
|
|
if [[ ! -f "$FILE_CONNTRACK_MAX" || ! -f "$FILE_CONNTRACK_COUNT" ]] ; then
|
|
echo "Error, one of this files does not exists :"
|
|
echo " - $FILE_CONNTRACK_MAX"
|
|
echo " - $FILE_CONNTRACK_COUNT"
|
|
exit2
|
|
fi
|
|
|
|
################################################################################
|
|
|
|
# Initialize variables
|
|
RESULT=""
|
|
PERF_DATA=""
|
|
CONNTRACK_WARN=${CONNTRACK_WARN:=80}
|
|
CONNTRACK_CRIT=${CONNTRACK_CRIT:=90}
|
|
EXIT_CODE=0
|
|
|
|
################################################################################
|
|
|
|
# Get conntrack values
|
|
CONNTRACK_MAX=$(cat $FILE_CONNTRACK_MAX)
|
|
CONNTRACK_COUNT=$(cat $FILE_CONNTRACK_COUNT)
|
|
|
|
WARN_COUNT=$(( CONNTRACK_MAX * CONNTRACK_WARN / 100 ))
|
|
CRIT_COUNT=$(( CONNTRACK_MAX * CONNTRACK_CRIT / 100 ))
|
|
|
|
USAGE_PERCENT=$(( CONNTRACK_COUNT * 100 / CONNTRACK_MAX ))
|
|
|
|
# Test percent for output
|
|
if [ $USAGE_PERCENT -ge $CONNTRACK_CRIT ] ; then
|
|
EXIT_CODE=2
|
|
elif [ $USAGE_PERCENT -ge $CONNTRACK_WARN ] ; then
|
|
EXIT_CODE=1
|
|
fi
|
|
|
|
RESULT="Conntrack usage: ${USAGE_PERCENT}% (${CONNTRACK_COUNT}/${CONNTRACK_MAX})"
|
|
PERF_DATA="conntrack_table=$CONNTRACK_COUNT;$WARN_COUNT;$CRIT_COUNT;0;$CONNTRACK_MAX"
|
|
|
|
echo "$RESULT | $PERF_DATA"
|
|
exit $EXIT_CODE
|