- Repository
- Munin (2.0)
- Last change
- 2021-01-14
- Graph Categories
- Family
- auto
- Capabilities
- Keywords
- Language
- Shell
- License
- GPL-2.0-only
netstat
Name
netstat - Plugin to monitor network connections
Configuration
No configuration
Author
Unknown author
License
GPLv2
Bugs
SuSE: passive connections rejected
At least one SuSE netstat appears to report “passive connections rejected because of time stamp”
We have never seen that, patch requested.
Magic Markers
#%# family=auto
#%# capabilities=autoconf
#!@@GOODSH@@
# -*- sh -*-
set -e
: << =cut
=head1 NAME
netstat - Plugin to monitor network connections
=head1 CONFIGURATION
No configuration
=head1 AUTHOR
Unknown author
=head1 LICENSE
GPLv2
=head1 BUGS
=over 4
=item SuSE: passive connections rejected
At least one SuSE netstat appears to report "passive connections
rejected because of time stamp"
We have never seen that, patch requested.
=back
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=cut
. "$MUNIN_LIBDIR/plugins/plugin.sh"
NETSTAT_CMD=netstat
if [ "$1" = "autoconf" ]; then
if ( "$NETSTAT_CMD" -s 2>/dev/null >/dev/null ); then
echo yes
exit 0
else
if [ $? -eq 127 ]
then
echo "no (program $NETSTAT_CMD not found)"
exit 0
else
echo "no (unknown netstat return value $?)"
exit 0
fi
fi
fi
if [ "$1" = "config" ]; then
echo 'multigraph netstat'
echo 'graph_title Netstat, combined'
echo 'graph_args --units=si -l 1 --base 1000 --logarithmic'
echo 'graph_vlabel TCP connections'
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.'
print_warning active
print_critical active
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.'
print_warning passive
print_critical passive
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.'
print_warning failed
print_critical failed
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.'
print_warning resets
print_critical resets
echo 'established.label established'
echo 'established.type GAUGE'
echo 'established.info The number of currently open connections.'
print_warning established
print_critical established
echo ''
echo 'multigraph netstat_established'
echo 'graph_title Netstat, established only'
echo 'graph_args --lower-limit 0'
echo 'graph_vlabel TCP connections'
echo 'graph_category network'
echo 'graph_period second'
echo 'graph_info This graph shows the TCP activity of all the network interfaces combined.'
echo 'established.label established'
echo 'established.type GAUGE'
echo 'established.info The number of currently open connections.'
print_warning established
print_critical established
exit 0
fi
# Newer versions of net tools' netstat have fixed the 'active connection
# openings' string from plural connections to singular. The match hereby is for
# both cases.
#
echo 'multigraph netstat'
"$NETSTAT_CMD" -s | awk '
/active connection(s)? ope/ { print "active.value " $1 }
/passive connection ope/ { print "passive.value " $1 }
/failed connection/ { print "failed.value " $1 }
/connection resets/ { print "resets.value " $1 }
/connections established/ { print "established.value " $1 }'
echo
echo 'multigraph netstat_established'
"$NETSTAT_CMD" -s | awk '
/connections established/ { print "established.value " $1 }'