100 lines
2.7 KiB
Bash
Executable file
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 }'
|
|
|