puppet/munin/files/plugins/netstat
2009-09-12 11:25:56 +03:00

100 lines
2.7 KiB
Bash
Executable file

#!/bin/sh
#
# Plugin to monitor network connections.
#
# Parameters:
#
# config (required)
# autoconf (optional - only used by munin-config)
#
# $Log$
# Revision 1.5.2.1 2005/01/28 14:51:22 lupe
# Add graph_info and some filed.info
#
# Revision 1.6 2005/01/28 14:47:31 lupe
# Add graph_info and some filed.info
#
# Revision 1.5 2004/12/10 10:47:49 jimmyo
# Change name from ${scale} to ${graph_period}, to be more consistent.
#
# Revision 1.4 2004/12/09 22:12:55 jimmyo
# Added "graph_period" option, to make "graph_sums" usable.
#
# Revision 1.3 2004/11/21 00:16:56 jimmyo
# Changed a lot of plugins so they use DERIVE instead of COUNTER.
#
# Revision 1.2 2004/05/20 19:02:36 jimmyo
# Set categories on a bunch of plugins
#
# Revision 1.1 2004/01/02 18:50:00 jimmyo
# Renamed occurrances of lrrd -> munin
#
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
# Import of LRRD CVS tree after renaming to Munin
#
# Revision 1.3 2003/11/07 17:43:16 jimmyo
# Cleanups and log entries
#
#
#
# Magic markers (optional - used by munin-config and some installation
# scripts):
#%# family=auto
#%# capabilities=autoconf
if [ "$1" = "autoconf" ]; then
if ( netstat -s 2>/dev/null >/dev/null ); then
echo yes
exit 0
else
if [ $? -eq 127 ]
then
echo "no (netstat program not found)"
exit 1
else
echo no
exit 1
fi
fi
fi
if [ "$1" = "config" ]; then
echo 'graph_title Netstat'
echo 'graph_args -l 0 --base 1000'
echo 'graph_vlabel active connections per ${graph_period}'
echo 'graph_category network'
echo 'graph_period second'
echo 'graph_info This graph shows the TCP activity of all the network interfaces combined.'
echo 'active.label active'
echo 'active.type DERIVE'
echo 'active.min 0'
echo 'active.max 50000'
echo 'active.info The number of active TCP openings per second.'
echo 'passive.label passive'
echo 'passive.type DERIVE'
echo 'passive.min 0'
echo 'passive.max 50000'
echo 'passive.info The number of passive TCP openings per second.'
echo 'failed.label failed'
echo 'failed.type DERIVE'
echo 'failed.min 0'
echo 'failed.max 50000'
echo 'failed.info The number of failed TCP connection attempts per second.'
echo 'resets.label resets'
echo 'resets.type DERIVE'
echo 'resets.min 0'
echo 'resets.max 50000'
echo 'resets.info The number of TCP connection resets.'
echo 'established.label established'
echo 'established.type DERIVE'
echo 'established.min 0'
echo 'established.max 50000'
echo 'established.info The number of currently open connections.'
exit 0
fi
netstat -s | awk '/connection requests/ { print "active.value " $1 } /connection accepts/ { print "passive.value " $1 } /bad connection/ { print "failed.value " $1 } /reset/ { print "resets.value " $1 } /connections established/ { print "established.value " $1 }'