sensu-plugins-network-checks 2.3.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/bin/check-banner.rb +2 -1
- data/bin/check-jsonwhois-domain-expiration.rb +4 -3
- data/bin/check-mtu.rb +2 -0
- data/bin/check-multicast-groups.rb +3 -1
- data/bin/check-netfilter-conntrack.rb +2 -1
- data/bin/check-netstat-tcp.rb +3 -1
- data/bin/check-ping.rb +3 -1
- data/bin/check-ports-bind.rb +2 -1
- data/bin/check-ports-nmap.rb +2 -0
- data/bin/check-ports.rb +2 -1
- data/bin/check-rbl.rb +3 -1
- data/bin/check-socat.rb +2 -0
- data/bin/check-whois-domain-expiration-multi.rb +4 -3
- data/bin/check-whois-domain-expiration.rb +4 -2
- data/bin/metrics-interface.rb +4 -3
- data/bin/metrics-net.rb +3 -1
- data/bin/metrics-netif.rb +2 -0
- data/bin/metrics-netstat-tcp.rb +2 -0
- data/bin/metrics-ping.rb +4 -2
- data/bin/metrics-sockstat.rb +3 -1
- data/lib/sensu-plugins-network-checks.rb +2 -0
- data/lib/sensu-plugins-network-checks/version.rb +5 -3
- metadata +27 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 657f6d68bbee8aca2ec7dc4331d727a45ea9970253c4b1d3d5f31764bd97217d
|
4
|
+
data.tar.gz: c0da8c7a1d2098e9dd61f5e73426e2c68e5d22f50ffcc6083d085ba5a0646885
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a36487ab0ef6fee539ea55ce28d37149e58bc223c5e32f5346b5e4a6fadf6ae930eff6174b64d6de6ccdfb58ddbc4c909a4a978c736411bb504333e9a29e90f
|
7
|
+
data.tar.gz: ecd98e5e3b7773fbfc1f3a8869e8b121a71d0d8dbb018df47ce6685c0a5021848a8261cbb1cc83ab01d8d6c6c7babf6398f48152deea3ee8042fa389e3dd58f0
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,16 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugin
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [3.0.0] - 2018-03-17
|
9
|
+
### Security
|
10
|
+
- updated rubocop dependency to `~> 0.51.0` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8418. (@majormoses)
|
11
|
+
|
12
|
+
### Breaking Changes
|
13
|
+
- removed ruby `< 2.1` support (@majormoses)
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
- appeased the cops and updated cop config (@majormoses)
|
17
|
+
|
8
18
|
## [2.3.1] - 2018-02-28
|
9
19
|
### Changed
|
10
20
|
- update whois-parser gem dependency to version 1.0.1 (@amdprophet)
|
@@ -203,6 +213,7 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugin
|
|
203
213
|
* initial release, same as community repo
|
204
214
|
|
205
215
|
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/2.3.0...HEAD
|
216
|
+
[3.0.0]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/2.3.0...3.0.0
|
206
217
|
[2.3.1]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/2.3.0...2.3.1
|
207
218
|
[2.3.0]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/2.2.0...2.3.0
|
208
219
|
[2.2.0]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/2.1.1...2.2.0
|
data/bin/check-banner.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
#
|
4
5
|
# check-jsonwhois-domain-expiration
|
5
6
|
#
|
@@ -72,7 +73,7 @@ class JSONWhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
72
73
|
short: '-r LEVEL',
|
73
74
|
long: '--report-errors LEVEL',
|
74
75
|
proc: proc(&:to_sym),
|
75
|
-
in: %i
|
76
|
+
in: %i[unknown warning critical],
|
76
77
|
default: :unknown,
|
77
78
|
description: 'Level for reporting connection or parsing errors'
|
78
79
|
|
@@ -110,7 +111,7 @@ class JSONWhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
110
111
|
else
|
111
112
|
results[:ok][domain] = domain_result
|
112
113
|
end
|
113
|
-
rescue
|
114
|
+
rescue StandardError
|
114
115
|
results[:unknown][domain] = 'Connection or parsing error' unless config[:'ignore-errors']
|
115
116
|
end
|
116
117
|
end
|
data/bin/check-mtu.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
2
4
|
#
|
3
5
|
# check-multicast-groups
|
4
6
|
#
|
@@ -66,7 +68,7 @@ class CheckMulticastGroups < Sensu::Plugin::Check::CLI
|
|
66
68
|
critical "#{diff.size} missing multicast group(s):\n#{diff_output}"
|
67
69
|
end
|
68
70
|
ok
|
69
|
-
rescue => ex
|
71
|
+
rescue StandardError => ex
|
70
72
|
critical "Failed to check multicast groups: #{ex}"
|
71
73
|
end
|
72
74
|
end
|
data/bin/check-netstat-tcp.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# check-netstat-tcp
|
4
6
|
#
|
@@ -102,7 +104,7 @@ class CheckNetstatTCP < Sensu::Plugin::Check::CLI
|
|
102
104
|
end
|
103
105
|
|
104
106
|
def run
|
105
|
-
state_counts = netstat(%w
|
107
|
+
state_counts = netstat(%w[tcp tcp6])
|
106
108
|
is_critical = false
|
107
109
|
is_warning = false
|
108
110
|
message = ''
|
data/bin/check-ping.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# check-ping
|
4
6
|
#
|
@@ -83,7 +85,7 @@ class CheckPING < Sensu::Plugin::Check::CLI
|
|
83
85
|
pt = Net::Ping::External.new(config[:host], nil, config[:timeout])
|
84
86
|
|
85
87
|
config[:count].times do |i|
|
86
|
-
sleep(config[:interval]) unless i
|
88
|
+
sleep(config[:interval]) unless i.zero?
|
87
89
|
result[i] = config[:ipv6] ? pt.ping6 : pt.ping
|
88
90
|
end
|
89
91
|
|
data/bin/check-ports-bind.rb
CHANGED
data/bin/check-ports-nmap.rb
CHANGED
data/bin/check-ports.rb
CHANGED
data/bin/check-rbl.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# check-rbl
|
4
6
|
#
|
@@ -89,7 +91,7 @@ class RblCheck < Sensu::Plugin::Check::CLI
|
|
89
91
|
|
90
92
|
# YELLOW
|
91
93
|
unless msg_string.empty? # rubocop:disable UnlessElse
|
92
|
-
if criticality
|
94
|
+
if criticality.positive?
|
93
95
|
critical "#{ip_add} Blacklisted in#{msg_string}"
|
94
96
|
else
|
95
97
|
warning "#{ip_add} Blacklisted in#{msg_string}"
|
data/bin/check-socat.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
#
|
4
5
|
# check-whois-domain-expiration-multi
|
5
6
|
#
|
@@ -66,7 +67,7 @@ class WhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
66
67
|
short: '-r LEVEL',
|
67
68
|
long: '--report-errors LEVEL',
|
68
69
|
proc: proc(&:to_sym),
|
69
|
-
in: %i
|
70
|
+
in: %i[unknown warning critical],
|
70
71
|
default: :unknown,
|
71
72
|
description: 'Level for reporting connection or parsing errors'
|
72
73
|
|
@@ -126,7 +127,7 @@ class WhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
126
127
|
else
|
127
128
|
results[:ok][domain] = domain_result
|
128
129
|
end
|
129
|
-
rescue
|
130
|
+
rescue StandardError
|
130
131
|
results[:unknown][domain] = 'Parsing error' unless config[:'ignore-errors']
|
131
132
|
end
|
132
133
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
#
|
4
5
|
# check-whois-domain-expiration
|
5
6
|
#
|
@@ -63,6 +64,7 @@ class WhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
63
64
|
def run
|
64
65
|
whois = Whois.whois(config[:domain])
|
65
66
|
|
67
|
+
# TODO: figure out which to use `Date` or `Time`
|
66
68
|
expires_on = DateTime.parse(whois.parser.expires_on.to_s)
|
67
69
|
num_days = (expires_on - DateTime.now).to_i
|
68
70
|
|
@@ -75,7 +77,7 @@ class WhoisDomainExpirationCheck < Sensu::Plugin::Check::CLI
|
|
75
77
|
else
|
76
78
|
ok
|
77
79
|
end
|
78
|
-
rescue
|
80
|
+
rescue StandardError
|
79
81
|
unknown "#{config[:domain]} can't be checked"
|
80
82
|
end
|
81
83
|
end
|
data/bin/metrics-interface.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
3
4
|
#
|
4
5
|
# interface-metrics
|
5
6
|
#
|
@@ -52,7 +53,7 @@ class InterfaceGraphite < Sensu::Plugin::Metric::CLI::Graphite
|
|
52
53
|
def run
|
53
54
|
# Metrics borrowed from hoardd: https://github.com/coredump/hoardd
|
54
55
|
|
55
|
-
metrics = %w
|
56
|
+
metrics = %w[rxBytes
|
56
57
|
rxPackets
|
57
58
|
rxErrors
|
58
59
|
rxDrops
|
@@ -67,7 +68,7 @@ class InterfaceGraphite < Sensu::Plugin::Metric::CLI::Graphite
|
|
67
68
|
txFifo
|
68
69
|
txColls
|
69
70
|
txCarrier
|
70
|
-
txCompressed
|
71
|
+
txCompressed]
|
71
72
|
|
72
73
|
File.open('/proc/net/dev', 'r').each_line do |line|
|
73
74
|
interface, stats_string = line.scan(/^\s*([^:]+):\s*(.*)$/).first
|
data/bin/metrics-net.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# metrics-net
|
4
6
|
#
|
@@ -91,7 +93,7 @@ class LinuxPacketMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
91
93
|
|
92
94
|
begin
|
93
95
|
if_speed = File.open(iface_path + '/speed').read.strip
|
94
|
-
rescue
|
96
|
+
rescue StandardError
|
95
97
|
if_speed = 0
|
96
98
|
end
|
97
99
|
|
data/bin/metrics-netif.rb
CHANGED
data/bin/metrics-netstat-tcp.rb
CHANGED
data/bin/metrics-ping.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# metrics-ping
|
4
6
|
#
|
@@ -69,8 +71,8 @@ class PingMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
69
71
|
long: '--timeout TIMEOUT',
|
70
72
|
default: 5
|
71
73
|
|
72
|
-
OVERVIEW_METRICS = [
|
73
|
-
STATISTIC_METRICS = [
|
74
|
+
OVERVIEW_METRICS = %i[packets_transmitted packets_received packet_loss time].freeze
|
75
|
+
STATISTIC_METRICS = %i[min avg max mdev].freeze
|
74
76
|
FLOAT = '(\d+\.\d+)'.freeze
|
75
77
|
|
76
78
|
def overview
|
data/bin/metrics-sockstat.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
#
|
3
5
|
# metrics-sockstat
|
4
6
|
#
|
@@ -54,7 +56,7 @@ class MetricsSockstat < Sensu::Plugin::Metric::CLI::Graphite
|
|
54
56
|
|
55
57
|
def read_sockstat
|
56
58
|
return IO.read('/proc/net/sockstat')
|
57
|
-
rescue => e
|
59
|
+
rescue StandardError => e
|
58
60
|
unknown "Failed to read /proc/net/sockstat: #{e}"
|
59
61
|
end
|
60
62
|
|
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-network-checks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: sensu-plugin
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: '1.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: '1.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '4.2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '4.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: dnsbl-client
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.2
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.2
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: net-ping
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +94,6 @@ dependencies:
|
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: 1.0.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '4.2'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '4.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,14 +212,14 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
215
|
+
version: 0.51.0
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.
|
222
|
+
version: 0.51.0
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: yard
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -307,7 +307,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
307
307
|
requirements:
|
308
308
|
- - ">="
|
309
309
|
- !ruby/object:Gem::Version
|
310
|
-
version: 2.
|
310
|
+
version: 2.1.0
|
311
311
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
312
312
|
requirements:
|
313
313
|
- - ">="
|