sensu-plugins-network-interface 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/bin/check-network-interface.rb +18 -14
- data/lib/sensu-plugins-network-interface/version.rb +1 -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: 3543ad3e7d3e5c7e8968474424c48140ca59d616
|
4
|
+
data.tar.gz: 65afcc6aeb8ced2ca322423121bc33e8862623ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caa34f80eacbabde310d4a89f4c6f8e6bc4067d631cd7b79d6eaae1fe37017aeed2bbb13fc7d7388aafbf49384e8218ecf2e4d7b3be137b2ec3c727b7a2f77dc
|
7
|
+
data.tar.gz: 3816f886d3c536314c3f15b04813fb696ccc8c5c54cc7ae1b661c91ce456a5e3367fb07e5782e71d0afb1f5fff0ae639e58df875d8ecb8f740ca2f639b4fd4b7
|
data/CHANGELOG.md
CHANGED
@@ -5,13 +5,18 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
5
5
|
|
6
6
|
## Unreleased
|
7
7
|
|
8
|
+
## [0.1.6] - 2015-12-29
|
9
|
+
### Added
|
10
|
+
- No longer send UNKNOWN events when metrics cannot be computed for specific interface (e.g. speed & bridge interfaces)
|
11
|
+
- Filter out dummy interfaces as well as loopback ones.
|
12
|
+
|
8
13
|
## [0.1.5] - 2015-12-29
|
9
14
|
### Added
|
10
15
|
- Fixed typo
|
11
16
|
|
12
17
|
## [0.1.4] - 2015-12-29
|
13
18
|
### Added
|
14
|
-
- Added ifcfg
|
19
|
+
- Added ifcfg support (supplement optional JSON configuration file)
|
15
20
|
|
16
21
|
## [0.1.3] - 2015-12-28
|
17
22
|
### Added
|
@@ -156,7 +156,7 @@ class CheckNetworkInterface < Sensu::Plugin::Check::CLI
|
|
156
156
|
end
|
157
157
|
|
158
158
|
def find_interfaces()
|
159
|
-
Dir["/sys/class/net/*"].map { |i| File.basename(i) }.reject { |i| i =~ /^lo/ }
|
159
|
+
Dir["/sys/class/net/*"].select { |i| File.symlink?(i) }.map { |i| File.basename(i) }.reject { |i| i =~ /^lo/ or i =~ /^dummy/ }
|
160
160
|
end
|
161
161
|
|
162
162
|
def get_info(interface)
|
@@ -165,20 +165,24 @@ class CheckNetworkInterface < Sensu::Plugin::Check::CLI
|
|
165
165
|
# https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
|
166
166
|
["tx_queue_len", "speed", "mtu", "duplex", "carrier", "operstate"].each do |metric|
|
167
167
|
if File.exists?("/sys/class/net/#{interface}/#{metric}")
|
168
|
-
|
168
|
+
begin
|
169
|
+
value = File.read("/sys/class/net/#{interface}/#{metric}").chomp
|
169
170
|
|
170
|
-
|
171
|
-
|
172
|
-
|
171
|
+
case metric
|
172
|
+
when "speed", "mtu"
|
173
|
+
info[metric] = value.to_i
|
173
174
|
|
174
|
-
|
175
|
-
|
175
|
+
when "tx_queue_len"
|
176
|
+
info['txqueuelen'] = value.to_i
|
176
177
|
|
177
|
-
|
178
|
-
|
178
|
+
when "carrier"
|
179
|
+
info[metric] = value.to_i > 0 ? "up" : "down"
|
179
180
|
|
180
|
-
|
181
|
-
|
181
|
+
else
|
182
|
+
info[metric] = value
|
183
|
+
end
|
184
|
+
rescue
|
185
|
+
info[metric] = nil
|
182
186
|
end
|
183
187
|
else
|
184
188
|
info[metric] = nil
|
@@ -259,9 +263,9 @@ class CheckNetworkInterface < Sensu::Plugin::Check::CLI
|
|
259
263
|
send_ok(check_name, "#{metric} #{interface}")
|
260
264
|
end
|
261
265
|
end
|
262
|
-
else
|
263
|
-
|
264
|
-
|
266
|
+
#else
|
267
|
+
# send_unknown(check_name, "Failed to look up #{metric} on #{interface}")
|
268
|
+
# problems += 1
|
265
269
|
end
|
266
270
|
end
|
267
271
|
end
|