summaryrefslogtreecommitdiff
path: root/sysutils/munin-node/files/node/node.d.netbsd/uptime.in
blob: a93905c577f068ba0bcc1a2be9a3cc3c555c1c30 (plain)
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
#!/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;
}'