/usr/share/munin/plugins/ping_ is in munin-node 1.4.6-3ubuntu3.4.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #!/bin/sh
# -*- sh -*-
: << =cut
=head1 NAME
ping_ - Plugin to monitor ping times
=head1 CONFIGURATION
The following environment variables are used by this plugin
ping_args - Arguments to ping (default "-c 2")
ping_args2 - Arguments after the host name (required for Solaris)
ping - Ping program to use
host - Host to ping. By default taken from command name.
ping_warn - Warning limit for nagios notification
ping_crit - Critical limit for nagios notification
packetloss_warn - Warning limit for nagios notification
packetloss_crit - Critical limit for nagios notification
=head2 CONFIGURATION EXAMPLES
The following configuration should be used for solaris hosts:
[ping_*]
env.ping_args -s
env.ping_args2 56 2
=head1 AUTHOR
Copyright (C) 2004 Jimmy Olsen
=head1 LICENSE
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 dated June, 1991.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
=head1 MAGIC MARKERS
#%# family=manual
=cut
. $MUNIN_LIBDIR/plugins/plugin.sh
case $0 in
*ping6_*)
PING=ping6
file_host=${0##*/ping6_}
V=IPv6
;;
*ping_*)
PING=ping
file_host=${0##*/ping_}
V=IPv4
;;
esac
host=${host:-${file_host:-www.google.com}}
if [ "$1" = "config" ]; then
echo graph_title $V ping times to $host
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel seconds'
echo 'graph_category network'
echo 'graph_info This graph shows ping RTT statistics.'
echo "ping.label $host"
echo "ping.info Ping RTT statistics for $host."
echo 'ping.draw LINE2'
echo 'packetloss.label packet loss'
echo 'packetloss.graph no'
print_warning ping
print_warning packetloss
print_critical ping
print_critical packetloss
exit 0
fi
${PING:-ping} ${ping_args:-'-c 2'} ${host} ${ping_args2} | perl -n -e 'print "ping.value ", $1 / 1000, "\n" if m@min/avg/max.*\s\d+(?:\.\d+)?/(\d+(?:\.\d+)?)/\d+(?:\.\d+)?@; print "packetloss.value $1\n" if /(\d+)% packet loss/;'
|