sensu-plugins-network-checks 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edab660709634d98ae04bed1fb56a3cd591a9411
4
- data.tar.gz: f2a95aae97c17f26bf0011227643cf5f42c51cef
3
+ metadata.gz: 46421c6d0dc7862d251f2700a9a4487b9f144f7a
4
+ data.tar.gz: 7131967b4d010104830c77fb483b3cbfa295ac4a
5
5
  SHA512:
6
- metadata.gz: f3e9d9e983c27373ae5962282a0a58d728edbd552cd697bcfadc279dd4e34ec5cedb9a2ad6e5f307416e60341000c3c031ca8bbb7ede720a06bb3be8f48c0736
7
- data.tar.gz: b9346418cd3eaa831990bbedcb5d6fbccf6e9c8d51226c8a5f54433cc7c7cfe4110a7cda0d8b51d3f268f543f85444ddaba58a29b06ce32053dce12a16dda20f
6
+ metadata.gz: f84d7725673e378612e026fac3a2f027a2d73d2b04457947be44170fd632035b1535f08e29dc1daf9f858e9d81bb5e4b54f32ebb34b8b5a2ed54e8f7edd15a77
7
+ data.tar.gz: 92b82831b5022e73ff521be0fdb22048822ed13d643f6b80c3759994909626aed8d65b266db5d815e2859c1202c2d16b1d731f15d0cfe7a094bdbb68fddbd5be
data/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.1.0] - 2016-08-07
9
+ ### Added
10
+ - metrics-netstat-tcp.rb: Add IPv6 state counts (@mlf4aiur)
11
+
12
+ ### Fixed
13
+ - check-ping.rb: Fix false positives (#34 via @kai101)
14
+
8
15
  ## [1.0.0] - 2016-06-14
9
16
  ### Fixed
10
17
  - check-whois-domain-expiration-multi.rb: Handle whois errors better by retrying failed lookups
@@ -144,7 +151,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
144
151
 
145
152
  * initial release, same as community repo
146
153
 
147
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/1.0.0...HEAD
154
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/1.1.0...HEAD
155
+ [1.1.0]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/1.0.0...1.1.0
148
156
  [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/0.2.4...1.0.0
149
157
  [0.2.4]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/0.1.4...0.2.4
150
158
  [0.1.4]: https://github.com/sensu-plugins/sensu-plugins-network-checks/compare/0.1.3...0.1.4
data/bin/check-ping.rb CHANGED
@@ -81,10 +81,10 @@ class CheckPING < Sensu::Plugin::Check::CLI
81
81
  def run
82
82
  result = []
83
83
  pt = Net::Ping::External.new(config[:host], nil, config[:timeout])
84
- config[:ipv6] ? (ping = pt.ping6) : (ping = pt.ping)
84
+
85
85
  config[:count].times do |i|
86
86
  sleep(config[:interval]) unless i == 0
87
- result[i] = ping
87
+ result[i] = config[:ipv6] ? pt.ping6 : pt.ping
88
88
  end
89
89
 
90
90
  successful_count = result.count(true)
@@ -76,13 +76,10 @@ class NetstatTCPMetrics < Sensu::Plugin::Metric::CLI::Graphite
76
76
  long: '--port PORT',
77
77
  proc: proc(&:to_i)
78
78
 
79
- def netstat(protocol = 'tcp')
80
- state_counts = Hash.new(0)
81
- TCP_STATES.each_pair { |_hex, name| state_counts[name] = 0 }
82
-
79
+ def netstat(protocol, pattern, state_counts)
83
80
  File.open('/proc/net/' + protocol).each do |line|
84
81
  line.strip!
85
- if m = line.match(/^\s*\d+:\s+(.{8}):(.{4})\s+(.{8}):(.{4})\s+(.{2})/) # rubocop:disable AssignmentInCondition
82
+ if m = line.match(pattern) # rubocop:disable AssignmentInCondition
86
83
  connection_state = m[5]
87
84
  connection_port = m[2].to_i(16)
88
85
  connection_state = TCP_STATES[connection_state]
@@ -98,7 +95,16 @@ class NetstatTCPMetrics < Sensu::Plugin::Metric::CLI::Graphite
98
95
 
99
96
  def run
100
97
  timestamp = Time.now.to_i
101
- netstat('tcp').each do |state, count|
98
+ state_counts = Hash.new(0)
99
+ TCP_STATES.each_pair { |_hex, name| state_counts[name] = 0 }
100
+
101
+ tcp4_pattern = /^\s*\d+:\s+(.{8}):(.{4})\s+(.{8}):(.{4})\s+(.{2})/
102
+ state_counts = netstat('tcp', tcp4_pattern, state_counts)
103
+
104
+ tcp6_pattern = /^\s*\d+:\s+(.{32}):(.{4})\s+(.{32}):(.{4})\s+(.{2})/
105
+ state_counts = netstat('tcp6', tcp6_pattern, state_counts)
106
+
107
+ state_counts.each do |state, count|
102
108
  graphite_name = config[:port] ? "#{config[:scheme]}.#{config[:port]}.#{state}" :
103
109
  "#{config[:scheme]}.#{state}"
104
110
  output graphite_name.to_s, count, timestamp
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsNetworkChecks
2
2
  module Version
3
3
  MAJOR = 1
4
- MINOR = 0
4
+ MINOR = 1
5
5
  PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-network-checks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.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: 2016-06-14 00:00:00.000000000 Z
11
+ date: 2016-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dnsbl-client
@@ -304,4 +304,3 @@ signing_key:
304
304
  specification_version: 4
305
305
  summary: Sensu plugins for checking network hardware, connections, and data
306
306
  test_files: []
307
- has_rdoc: