Home > Nagios, plugins > Nagios check_con

Nagios check_con

August 11th, 2010 Leave a comment Go to comments

I wrote a simple plugin to check the number of established connections
to a windows server. Just execute:
cmd /c netstat -an |find /i “estab” /c
I also wrote a script for Windows
Here is the code

I have also done the same for a linux server. Just exec.:
netstat -an | grep -c EST
In fact that script is only 2 lines:
result=`netstat -anp | grep :81 | grep -c EST`
echo “Conexoes Totais = $result |Conexoes=$result”
Note that | will graph that result, witch is very usefull!

If we may need unique IP only then it should be something like:
netstat -an |grep ” 0 $port:8080″ |grep ESTA |awk ‘{print $5}’ |grep -v $port |cut -d “:” -f1 | sort -u |wc -l

Much Better:
ss -s |grep estab | awk ‘{print $4}’|tr -d “,”

There are many ways of getting that information, I have also
done the same thing via WMI, perfmon has that counter
and it maybe easier to for example find out the total number of
current connections to a specific website.

The script for windows is a .vbs and I call it using NC_NET
it can be downloaded here.

If you need just simple and fast use:

Here is the code:

#!/bin/bash
#Get number of current all estabilished connections
result=`ss -s |grep estab | awk '{print $4}'|tr -d ","`
echo "Conexoes Totais = $result |Conexoes=$result"

I just updated this old plugin, now it accepts argument and make graphs etc…
Example:
# ./check_con 1433 -w 1 -c 2 -f
OK – Connections on port 1433 = 0|Conections=0


#!/bin/bash
#Get current estabilished connections on Port
#Version 2.0
#By Felipe Ferreira August 2011

# Exit codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
#Variables
port=8080
maxconwarn=10
maxconcrti=30
perfdata=0

#Check arguments print help
if [ $# -lt 1 ]; then
    echo "Usage: $0  [-w|--warning ] [-c|--critical ] -f(for perdata)"
    exit $STATE_UNKNOWN
fi

port=$1

#GET ARGUMENTS
while test -n "$1"; do
    case "$1" in
        --help)
            echo "Uso: $0  [-w|--warning ] [-c|--critical ] -f(for perdata)"
            exit $STATE_OK
            ;;
        -h)
            echo "Uso: $0  [-w|--warning ] [-c|--critical ] -f(for perdata)"
            exit $STATE_OK
            ;;
                --warning)
            maxconwarn=$2
            shift
            ;;
        -w)
            maxconwarn=$2
            shift
            ;;
        --critical)
            maxconcrit=$2
            shift
            ;;
        -c)
            maxconcrit=$2
            shift
            ;;
        -f)
            perfdata=1
            ;;
        -perfdata)
            perfdata=1
            ;;
    esac
   shift
done

#EXECUTE THE COMMAND TO GET HOW MANY ESTABLISHED CONNECTIONS EXISTS
result=`netstat -an | grep ":$port" | grep -c ESTA`

#OR UNIQUE IP's ONLY, SET THE PORT  HERE
#result=`netstat -anp |grep  " 0 $port:8080" |grep ESTA |awk '{print $5}' |grep -v $port |cut -d ":" -f1 | sort -u  |wc -l`

if [ $result -ge $maxconwarn ]; then
        OUTPUT="WARNING - Connections on port $port = $result"
        exitstatus=$STATE_WARNING
fi

if [ $result -ge $maxconcrit ]; then
        OUTPUT="CRITICAL - Connections on port $port = $result"
        exitstatus=$STATE_CRITICAL
fi

if [ $result -lt $maxconwarn ];then
   OUTPUT="OK - Connections on port $port = $result"
   exitstatus=$STATE_OK
fi

if [ $perfdata -eq 1 ]; then
    OUTPUT="$OUTPUT|Conections=$result"
fi


echo $OUTPUT
exit $exitstatus

  1. ttt
    March 27th, 2012 at 11:27 | #1

    how to use this windows server script on nagios?

  1. January 7th, 2011 at 11:20 | #1

VAMOVE *

*