sensu-plugins-sensu 2.1.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -3
- data/bin/check-stale-results.rb +1 -1
- data/bin/metrics-aggregate.rb +27 -26
- data/lib/sensu-plugins-sensu/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a41669c0e26a07efba58456daa34b954a6b5fd2a
|
4
|
+
data.tar.gz: dee205425b435940dc7cc0a7259c5809db7ecbbb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85edf389d8f682d779c59df352607039d787dc3890b075d4e996f91458f4ad6d79af45b69b40690efbe0fa13a4543ea59e3f5d7c59f2c495dec32961d3d421ec
|
7
|
+
data.tar.gz: 57c3945315d07a507a57a774656884f483ab2e683a87ac230c241b615b7a14662dda3bdec20ceb63f66820c052b0f1eba31fb301226da489d4de33c3c912a405
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,19 @@
|
|
1
1
|
# Change Log
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
3
3
|
|
4
|
-
This CHANGELOG follows the format listed at [
|
4
|
+
This CHANGELOG follows the format listed at [Our CHANGELOG Guidelines ](https://github.com/sensu-plugins/community/blob/master/HOW_WE_CHANGELOG.md).
|
5
|
+
Which is based on [Keep A Changelog](http://keepachangelog.com/)
|
5
6
|
|
6
7
|
## [Unreleased]
|
7
8
|
|
9
|
+
## [2.1.1] - 2017-00-09
|
10
|
+
### Fixed
|
11
|
+
- metrics-aggregates.rb: Refactored to support new named aggregates introduced in Sensu 0.24 (@oba11)
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
- check-stale-results.rb: made invocation of ok more idiomatic (@rbanffy)
|
15
|
+
- updated the location for our changelog guidelines (@majormoses)
|
16
|
+
|
8
17
|
## [2.1.0] - 2017-08-29
|
9
18
|
### Added
|
10
19
|
- check-stale-results.rb: new script to check for stale results in sensu (@m4ce)
|
@@ -12,9 +21,9 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
12
21
|
|
13
22
|
## [2.0.0] - 2017-08-20
|
14
23
|
### Breaking Changes
|
15
|
-
- check-aggregates.rb: Changed the default
|
24
|
+
- check-aggregates.rb: Changed the default behavior to alert with the severity of the aggregated checks. (@Moozaliny)
|
16
25
|
|
17
|
-
###
|
26
|
+
### AddedMoozaliny
|
18
27
|
- check-aggregates.rb: Added new flag to ignore severities. If --ignore-severity is supplied all non-ok will count for critical, critical_count, warning and warning_count option.
|
19
28
|
|
20
29
|
### Fixed
|
@@ -70,6 +79,7 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
70
79
|
- initial release
|
71
80
|
|
72
81
|
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-sensu/compare/2.1.0...HEAD
|
82
|
+
[2.1.1]: https://github.com/sensu-plugins/sensu-plugins-sensu/compare/2.1.0...2.1.1
|
73
83
|
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-sensu/compare/2.0.0...2.1.0
|
74
84
|
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-sensu/compare/1.1.1...2.0.0
|
75
85
|
[1.1.1]: https://github.com/sensu-plugins/sensu-plugins-sensu/compare/1.1.0...1.1.1
|
data/bin/check-stale-results.rb
CHANGED
data/bin/metrics-aggregate.rb
CHANGED
@@ -24,8 +24,9 @@
|
|
24
24
|
# LICENSE for details.
|
25
25
|
|
26
26
|
require 'sensu-plugin/metric/cli'
|
27
|
-
require 'rest-client'
|
28
27
|
require 'json'
|
28
|
+
require 'net/http'
|
29
|
+
require 'net/https'
|
29
30
|
|
30
31
|
class AggregateMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
31
32
|
option :api,
|
@@ -68,20 +69,18 @@ class AggregateMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
68
69
|
description: 'Verbose output'
|
69
70
|
|
70
71
|
def api_request(resource)
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
72
|
+
uri = URI.parse(config[:api])
|
73
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
74
|
+
if uri.scheme == 'https'
|
75
|
+
http.use_ssl = true
|
76
|
+
end
|
77
|
+
req = Net::HTTP::Get.new(resource)
|
78
|
+
r = http.request(req)
|
79
|
+
JSON.parse(r.body)
|
77
80
|
rescue Errno::ECONNREFUSED
|
78
81
|
warning 'Connection refused'
|
79
|
-
rescue
|
80
|
-
warning 'Request failed'
|
81
|
-
rescue RestClient::RequestTimeout
|
82
|
+
rescue Timeout::Error
|
82
83
|
warning 'Connection timed out'
|
83
|
-
rescue RestClient::Unauthorized
|
84
|
-
warning 'Missing or incorrect Sensu API credentials'
|
85
84
|
rescue JSON::ParserError
|
86
85
|
warning 'Sensu API returned invalid JSON'
|
87
86
|
end
|
@@ -95,27 +94,29 @@ class AggregateMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
95
94
|
|
96
95
|
def get_aggregate(check)
|
97
96
|
uri = "/aggregates/#{check}"
|
98
|
-
issued = api_request(uri + "?
|
99
|
-
|
100
|
-
issued_sorted = issued.sort
|
101
|
-
time = issued_sorted.pop
|
102
|
-
unless time.nil?
|
103
|
-
uri += "/#{time}"
|
104
|
-
[time, api_request(uri)]
|
105
|
-
else
|
106
|
-
warning "No aggregates older than #{config[:age]} seconds"
|
107
|
-
end
|
108
|
-
else
|
97
|
+
issued = api_request(uri + "?max_age=#{config[:age]}")
|
98
|
+
if issued.empty?
|
109
99
|
warning "No aggregates for #{check}"
|
100
|
+
else
|
101
|
+
issued
|
110
102
|
end
|
111
103
|
end
|
112
104
|
|
113
105
|
def run
|
106
|
+
timestamp = Time.now.to_i
|
114
107
|
acquire_checks.each do |check|
|
115
|
-
|
116
|
-
puts "#{check[
|
108
|
+
aggregate = get_aggregate(check['name'])
|
109
|
+
puts "#{check['name']} aggregates: #{aggregate}" if config[:debug]
|
117
110
|
aggregate.each do |result, count|
|
118
|
-
|
111
|
+
# in 0.24 they changed the api results for aggregates this helps
|
112
|
+
# maintain backwards compatibility with 0.23 and newer versions.
|
113
|
+
if count.is_a?(Hash)
|
114
|
+
count.each do |x, y|
|
115
|
+
output "#{config[:scheme]}.#{check['name']}.#{x}", y, timestamp
|
116
|
+
end
|
117
|
+
else
|
118
|
+
output "#{config[:scheme]}.#{check['name']}.#{result}", count, timestamp
|
119
|
+
end
|
119
120
|
end
|
120
121
|
end
|
121
122
|
ok
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-sensu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
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: 2017-
|
11
|
+
date: 2017-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
245
|
version: '0'
|
246
246
|
requirements: []
|
247
247
|
rubyforge_project:
|
248
|
-
rubygems_version: 2.6.
|
248
|
+
rubygems_version: 2.6.13
|
249
249
|
signing_key:
|
250
250
|
specification_version: 4
|
251
251
|
summary: Sensu plugins for sensu
|