2013-09-26 17:14:40 +02:00

64 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# Plugin to measure uptime. Especially the average and max values on the
# bigger graphs (yearly) can be interesting.
#
# $Log: uptime.in,v $
# Revision 1.1.1.1 2006/06/04 20:53:57 he
# Import the client version of the Munin system monitoring/graphing
# tool -- project homepage is at http://munin.sourceforge.net/
#
# This package has added support for NetBSD, via a number of new plugin
# scripts where specific steps needs to be taken to collect information.
#
# I also modified the ntp_ plugin script to make it possible to not
# plot the NTP poll delay, leaving just jitter and offset, which IMO
# produces a more telling graph.
#
#
#
# Magic markers - optional - used by installation scripts and
# munin-config:
#
#%# family=auto
#%# capabilities=autoconf
if [ "$1" = "autoconf" ]; then
if [ -x /sbin/sysctl ]; then
if /sbin/sysctl kern.boottime >/dev/null 2>&1; then
if [ -x /bin/date ]; then
echo yes
exit 0
else
echo no '(no /bin/date)'
exit 1
fi
else
echo no '(sysctl kern.boottime failed)' 2>&1
exit 1
fi
else
echo no '(no /sbin/sysctl)'
exit 1
fi
fi
if [ "$1" = "config" ]; then
echo 'graph_title Uptime'
echo 'graph_args --base 1000 -l 0 '
echo 'graph_vlabel uptime in days'
echo 'uptime.label uptime'
echo 'uptime.draw AREA'
exit 0
fi
boottime=`/sbin/sysctl -n kern.boottime`
now=`/bin/date +%s`
awk -v boottime=$boottime -v now=$now </dev/null '
END {
printf "uptime.value %.2f\n", (now - boottime) / 86400;
}'