sensu-plugins-zfs 1.0.6 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -5
- data/bin/check-zpool.rb +21 -0
- data/lib/sensu-plugins-zfs/version.rb +1 -1
- data/lib/sensu-plugins-zfs/zpool.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c3a3744fcbbe19ac49cf6e968082a6b6f1aa392
|
4
|
+
data.tar.gz: 11e6ac61a97cd02a890c980d4fb52fdf8ad2223e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba3d899bfe554cdf8c1e0633b85618b98d7b18a21352f2d8f149e5a8d300450c4429769d0b278f1bc7862bdb2170231beb1aa175b53b9a3fb9b3a61e1fce830c
|
7
|
+
data.tar.gz: c8552e5482f078fd8071237bc953c640714edf9d0da8c481d7fb114f635454fc5c90362d9af38870c867819923367dac0fbde48fb1fc25479d5be6f75398e2b5
|
data/README.md
CHANGED
@@ -1,21 +1,27 @@
|
|
1
1
|
# SensuPluginsZFS
|
2
2
|
|
3
|
-
Sensu plugin for zfs checks.
|
4
|
-
|
5
|
-
So far we just got a simple plugin that checks if the zpool is online.
|
3
|
+
Sensu plugin for zfs health checks.
|
6
4
|
|
7
5
|
## Checks
|
8
6
|
|
9
7
|
### check-zpool.rb
|
10
8
|
|
11
|
-
Checks if the zpool state is ONLINE
|
9
|
+
Checks if the zpool state is ONLINE and wether there has been any errors on
|
10
|
+
vdevs.
|
11
|
+
|
12
|
+
- `-z, --zpool` What zpool to check. If omitted, we check all zpools.
|
12
13
|
|
13
14
|
## Installation
|
14
15
|
[Installation and setup](http://sensu-plugins.io/docs/installation_instructions.html)
|
15
16
|
|
16
17
|
## Contributing
|
17
18
|
|
18
|
-
|
19
|
+
At this time ideas for additional checks/metrics would be very much appreciated.
|
20
|
+
|
21
|
+
I have a few ideas that would be nice:
|
22
|
+
|
23
|
+
- [ ] Check that disks have been scrubbed recently
|
24
|
+
- [ ] Check/metric for pool capacity
|
19
25
|
|
20
26
|
Bug reports and pull requests are welcome on GitHub at https://github.com/blacksails/sensu-plugins-zfs.
|
21
27
|
|
data/bin/check-zpool.rb
CHANGED
@@ -9,6 +9,18 @@ class CheckZPool < Sensu::Plugin::Check::CLI
|
|
9
9
|
long: "--zpool ZPOOL",
|
10
10
|
description: "Name of zpool to check. If omitted, we check all zpools"
|
11
11
|
|
12
|
+
option :cap_warn,
|
13
|
+
short: "-c PERCENTAGE",
|
14
|
+
long: "--capacity-warn PERCENTAGE",
|
15
|
+
description: "Warn if capacity is above this threshold",
|
16
|
+
default: 80
|
17
|
+
|
18
|
+
option :cap_crit,
|
19
|
+
short: "-C PERCENTAGE",
|
20
|
+
long: "--capacity-crit PERCENTAGE",
|
21
|
+
description: "Crit if capacity is above this threshold",
|
22
|
+
default: 90
|
23
|
+
|
12
24
|
def run
|
13
25
|
zpools = []
|
14
26
|
if config[:zpool]
|
@@ -19,6 +31,7 @@ class CheckZPool < Sensu::Plugin::Check::CLI
|
|
19
31
|
zpools.each do |zp|
|
20
32
|
check_state zp
|
21
33
|
check_vdevs zp
|
34
|
+
check_capacity zp
|
22
35
|
end
|
23
36
|
if config[:zpool]
|
24
37
|
ok "zpool #{config[:zpool]} is ok"
|
@@ -41,4 +54,12 @@ class CheckZPool < Sensu::Plugin::Check::CLI
|
|
41
54
|
end
|
42
55
|
end
|
43
56
|
end
|
57
|
+
|
58
|
+
def check_capacity(zp)
|
59
|
+
if zp.capacity > config[:cap_crit]
|
60
|
+
critical "capacity for zpool #{zp.name} is above #{config[:cap_crit}% (currently #{zp.capacity}%)"
|
61
|
+
elsif zp.capacity > config[:warn_crit]
|
62
|
+
warning "capacity for zpool #{zp.name} is above #{config[:cap_warn}% (currently #{zp.capacity}%)"
|
63
|
+
end
|
64
|
+
end
|
44
65
|
end
|
@@ -8,11 +8,12 @@ module SensuPluginsZFS
|
|
8
8
|
end
|
9
9
|
|
10
10
|
class ZPool
|
11
|
-
attr_reader :state, :
|
11
|
+
attr_reader :name, :state, :capacity, :vdevs
|
12
12
|
|
13
13
|
def initialize(name)
|
14
14
|
@name = name
|
15
15
|
@state = %x[sudo zpool status #{name} | grep '^ state: ' | cut -d ' ' -f 3].strip
|
16
|
+
@capacity = %x[zpool get -H capacity #{@name} | awk '{print $3}' | cut -d '%' -f1].strip.to_i
|
16
17
|
@vdevs = create_vdevs name
|
17
18
|
end
|
18
19
|
|