Projet

Général

Profil

Révision d9722c22

IDd9722c22e717dc13c3ef7afaedd7930522216342
Parent 8d7143d5
Enfant 4a6ab555

Ajouté par Yoann Moulin il y a presque 14 ans

Initial version

Voir les différences:

plugins/other/zfs-filesystem-graph
1
#!/bin/sh
2
#
3
# Plugin to monitor a ZFS Filesystem
4
#
5
# Wildcard-plugin to monitor a zfs filesystems. 
6
# To monitor a filesystem, link zfs_fs_<zpool>_<filesystem> to this file. E.g.
7
#
8
#    ln -s /usr/share/munin/node/plugins-auto/zfs_fs_ /etc/munin/node.d/zfs_fs_tank_foo
9
# 
10
# ...will monitor tank/foo fs.
11
#
12
# You can monitor zpool as well by a link on zfs_fs_<zpool>
13
#
14
# Parameters understood:
15
#
16
# 	config   (required)
17
# 	autoconf (optional - used by munin-config)
18
#
19
# Magic markers - optional - used by installation scripts and
20
# munin-config:
21
#
22
#%# family=auto
23
#%# capabilities=autoconf
24

  
25
myname=`basename $0 | sed 's/^zfs_fs_//g' | sed -e 's/_/\//'`
26

  
27
name="${name-\<$myname\>}"
28
REGEX="${regex-\<$name\>}"
29

  
30
if [ "$1" = "autoconf" ]; then
31
    # Makes little sense to autoconf if you can't suggest
32
    echo no
33
    exit 0
34
fi
35

  
36
if [ "$1" = "suggest" ]; then
37
	exit 0
38
fi
39

  
40
usedbydataset=`zfs get -p usedbydataset $myname | grep $myname | awk '{print $3}'`
41
usedbysnapshots=`zfs get -p usedbysnapshots $myname | grep $myname | awk '{print $3}'`
42
available=`zfs get -p available $myname | grep $myname | awk '{print $3}'`
43
usedbychildren=`zfs get -p usedbychildren $myname | grep $myname | awk '{print $3}'`
44
quota=`zfs get -p quota $myname | grep $myname | awk '{print $3}'`
45
total=$((usedbydataset+usedbysnapshots+available+usedbychildren))
46

  
47

  
48
if [ "$1" = "config" ]; then
49

  
50
	echo "graph_title zfs $myname"
51
	echo 'graph_order usedbydataset usedbysnapshots usedbychildren available total quota'
52
	echo "graph_args --base 1024 -r -l 0 --vertical-label Bytes --upper-limit $total"
53
	echo 'graph_info This graph shows how is used a zfs filesystems.'
54
	echo 'graph_category Zfs'
55
	echo 'graph_period second'
56
	echo 'usedbydataset.label Used'
57
	echo 'usedbydataset.draw AREA'
58
	echo 'usedbydataset.info Used space by Dataset'
59
	echo 'usedbydataset.colour FF0000'
60
	echo 'usedbysnapshots.label Snapshots'
61
	echo 'usedbysnapshots.draw STACK'
62
	echo 'usedbysnapshots.info Used space by snapshot'
63
	echo 'usedbysnapshots.colour 0000FF'
64
	echo 'usedbychildren.label Children'
65
	echo 'usedbychildren.draw STACK'
66
	echo 'usedbychildren.info Used space by children'
67
	echo 'usedbychildren.colour FFCC33'
68
	echo 'available.label Available'
69
	echo 'available.draw STACK'
70
	echo 'available.info Free space'
71
	echo 'available.colour 00FF00'
72
	echo 'total.label Total'
73
	echo 'total.draw LINE1'
74
	echo 'total.info Total'
75
	echo 'total.colour 000000'
76
	echo 'quota.label Quota'
77
	echo 'quota.draw LINE1'
78
	echo 'quota.info Quota'
79
	echo 'quota.colour 555555'
80
	exit 0
81
fi
82

  
83

  
84

  
85
echo "usedbydataset.value $usedbydataset"
86
echo "usedbysnapshots.value $usedbysnapshots"
87
echo "usedbychildren.value $usedbychildren"
88
echo "available.value $available"
89
echo "total.value $total"
90
echo "quota.value $quota"
91

  
92

  
93
exit 0

Formats disponibles : Unified diff