sensu-plugins-elasticsearch 1.9.0 → 1.10.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 +7 -2
- data/bin/check-es-circuit-breakers.rb +14 -1
- data/bin/check-es-cluster-status.rb +14 -1
- data/bin/check-es-indices-sizes.rb +4 -5
- data/bin/check-es-node-status.rb +14 -1
- data/bin/metrics-es-cluster.rb +14 -1
- data/bin/metrics-es-node-graphite.rb +14 -1
- data/bin/metrics-es-node.rb +14 -1
- data/lib/sensu-plugins-elasticsearch/version.rb +1 -1
- metadata +36 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5642696a8f37d54e95e2be913af5fb1694dee4c86e73e700cc1bb14c4ebdec14
|
4
|
+
data.tar.gz: 253b4e9aaf0a44a6aa1d8224644343b9f5d27d6cadbdb4de73a36e2cb6dfbfb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c8299a54b50656ac4da0a7682694024586cda2d9228af287de7a83d6579b14155c8aacf01656b170a91ac1728ff1358d55eab3be4621f7146dbff8e843fbd8c
|
7
|
+
data.tar.gz: 519e411301630fcfb1e40af4af6b369f4f08ff2aea3308287aba2f5a9981444fdaea84aa4e348b6c26431797fc794b6d0b5b05f3b6bef50b2d631a91bbe19f0c
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [1.10.0] - 2018-02-19
|
9
|
+
### Added
|
10
|
+
- check-es-circuit-breakers.rb, check-es-cluster-status.rb, check-es-indices-sizes.rb, check-es-node-status.rb, metrics-es-cluster.rb, metrics-es-node-graphite.rb, metrics-es-node.rb: added `--cert-file` option which allows you to specify a ca-cert to be used to verify TLS (@csoleimani) (@majormoses)
|
11
|
+
|
8
12
|
## [1.9.0] - 2018-02-19
|
9
13
|
### Changed
|
10
14
|
- bin/check-es-node-status.rb: updated to check the status of all nodes in a cluster (@cihangirbesiktas)
|
@@ -213,8 +217,9 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
213
217
|
- initial release
|
214
218
|
|
215
219
|
|
216
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.
|
217
|
-
[1.
|
220
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.10.0...HEAD
|
221
|
+
[1.10.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.9.0...1.10.0
|
222
|
+
[1.9.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.8.1...1.9.0
|
218
223
|
[1.8.1]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.8.0...1.8.1
|
219
224
|
[1.8.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.7.1...1.8.0
|
220
225
|
[1.7.1]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.7.0...1.7.1
|
@@ -69,6 +69,10 @@ class ESCircuitBreaker < Sensu::Plugin::Check::CLI
|
|
69
69
|
short: '-e',
|
70
70
|
long: '--https'
|
71
71
|
|
72
|
+
option :cert_file,
|
73
|
+
description: 'Cert file to use',
|
74
|
+
long: '--cert-file CERT'
|
75
|
+
|
72
76
|
option :localhost,
|
73
77
|
description: 'only check local node',
|
74
78
|
short: '-l',
|
@@ -89,7 +93,16 @@ class ESCircuitBreaker < Sensu::Plugin::Check::CLI
|
|
89
93
|
'http'
|
90
94
|
end
|
91
95
|
|
92
|
-
r =
|
96
|
+
r = if config[:cert_file]
|
97
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
98
|
+
ssl_ca_file: config[:cert_file].to_s,
|
99
|
+
timeout: config[:timeout],
|
100
|
+
headers: headers)
|
101
|
+
else
|
102
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
103
|
+
timeout: config[:timeout],
|
104
|
+
headers: headers)
|
105
|
+
end
|
93
106
|
JSON.parse(r.get)
|
94
107
|
rescue Errno::ECONNREFUSED
|
95
108
|
critical 'Connection refused'
|
@@ -83,6 +83,10 @@ class ESClusterStatus < Sensu::Plugin::Check::CLI
|
|
83
83
|
short: '-e',
|
84
84
|
long: '--https'
|
85
85
|
|
86
|
+
option :cert_file,
|
87
|
+
description: 'Cert file to use',
|
88
|
+
long: '--cert-file CERT_FILE'
|
89
|
+
|
86
90
|
option :alert_status,
|
87
91
|
description: 'Only alert when status matches given RED/YELLOW/GREEN or if blank all statuses',
|
88
92
|
long: '--alert-status STATUS',
|
@@ -102,7 +106,16 @@ class ESClusterStatus < Sensu::Plugin::Check::CLI
|
|
102
106
|
'http'
|
103
107
|
end
|
104
108
|
|
105
|
-
r =
|
109
|
+
r = if config[:cert_file]
|
110
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
111
|
+
ssl_ca_file: config[:cert_file].to_s,
|
112
|
+
timeout: config[:timeout],
|
113
|
+
headers: headers)
|
114
|
+
else
|
115
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
116
|
+
timeout: config[:timeout],
|
117
|
+
headers: headers)
|
118
|
+
end
|
106
119
|
JSON.parse(r.get)
|
107
120
|
rescue Errno::ECONNREFUSED
|
108
121
|
critical 'Connection refused'
|
@@ -159,12 +159,11 @@ class ESCheckIndicesSizes < Sensu::Plugin::Check::CLI
|
|
159
159
|
def run
|
160
160
|
node_fs_stats = client.nodes.stats metric: 'fs,indices'
|
161
161
|
nodes_being_used = node_fs_stats['nodes'].values.select { |node| node['indices']['store']['size_in_bytes'] > 0 }
|
162
|
-
#
|
163
|
-
# rubocop:disable
|
164
|
-
used_in_bytes = nodes_being_used.map { |node| node['fs']['data'].map { |data| data['total_in_bytes'] - data['available_in_bytes'] }.flatten }.flatten.inject { |sum, x| sum + x }
|
165
|
-
# rubocop:enable LineLength
|
162
|
+
# TODO: come back and cleanup all these rubocop disables with a little refactor
|
163
|
+
# rubocop:disable Style/SingleLineBlockParams
|
164
|
+
used_in_bytes = nodes_being_used.map { |node| node['fs']['data'].map { |data| data['total_in_bytes'] - data['available_in_bytes'] }.flatten }.flatten.inject { |sum, x| sum + x } # rubocop:disable LineLength
|
166
165
|
total_in_bytes = nodes_being_used.map { |node| node['fs']['data'].map { |data| data['total_in_bytes'] }.flatten }.flatten.inject { |sum, x| sum + x }
|
167
|
-
# rubocop:enable SingleLineBlockParams
|
166
|
+
# rubocop:enable Style/SingleLineBlockParams LineLength
|
168
167
|
|
169
168
|
if config[:maximum_megabytes] > 0
|
170
169
|
target_bytes_used = config[:maximum_megabytes] * 1_000_000
|
data/bin/check-es-node-status.rb
CHANGED
@@ -68,6 +68,10 @@ class ESNodeStatus < Sensu::Plugin::Check::CLI
|
|
68
68
|
short: '-e',
|
69
69
|
long: '--https'
|
70
70
|
|
71
|
+
option :cert_file,
|
72
|
+
description: 'Cert file to use',
|
73
|
+
long: '--cert-file CERT_FILE'
|
74
|
+
|
71
75
|
option :all,
|
72
76
|
description: 'Check all nodes in the ES cluster',
|
73
77
|
short: '-a',
|
@@ -87,7 +91,16 @@ class ESNodeStatus < Sensu::Plugin::Check::CLI
|
|
87
91
|
'http'
|
88
92
|
end
|
89
93
|
|
90
|
-
r =
|
94
|
+
r = if config[:cert_file]
|
95
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
96
|
+
ssl_ca_file: config[:cert_file].to_s,
|
97
|
+
timeout: config[:timeout],
|
98
|
+
headers: headers)
|
99
|
+
else
|
100
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
101
|
+
timeout: config[:timeout],
|
102
|
+
headers: headers)
|
103
|
+
end
|
91
104
|
r.get
|
92
105
|
rescue Errno::ECONNREFUSED
|
93
106
|
critical 'Connection refused'
|
data/bin/metrics-es-cluster.rb
CHANGED
@@ -90,6 +90,10 @@ class ESClusterMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
90
90
|
short: '-e',
|
91
91
|
long: '--https'
|
92
92
|
|
93
|
+
option :cert_file,
|
94
|
+
description: 'Cert file to use',
|
95
|
+
long: '--cert-file CERT_FILE'
|
96
|
+
|
93
97
|
def acquire_es_version
|
94
98
|
info = get_es_resource('/')
|
95
99
|
info['version']['number']
|
@@ -108,7 +112,16 @@ class ESClusterMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
108
112
|
'http'
|
109
113
|
end
|
110
114
|
|
111
|
-
r =
|
115
|
+
r = if config[:cert_file]
|
116
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
117
|
+
ssl_ca_file: config[:cert_file].to_s,
|
118
|
+
timeout: config[:timeout],
|
119
|
+
headers: headers)
|
120
|
+
else
|
121
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
122
|
+
timeout: config[:timeout],
|
123
|
+
headers: headers)
|
124
|
+
end
|
112
125
|
JSON.parse(r.get)
|
113
126
|
rescue Errno::ECONNREFUSED
|
114
127
|
warning 'Connection refused'
|
@@ -115,6 +115,10 @@ class ESNodeGraphiteMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
115
115
|
short: '-e',
|
116
116
|
long: '--https'
|
117
117
|
|
118
|
+
option :cert_file,
|
119
|
+
description: 'Cert file to use',
|
120
|
+
long: '--cert-file CERT_FILE'
|
121
|
+
|
118
122
|
def get_es_resource(resource)
|
119
123
|
headers = {}
|
120
124
|
if config[:user] && config[:password]
|
@@ -128,7 +132,16 @@ class ESNodeGraphiteMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
128
132
|
'http'
|
129
133
|
end
|
130
134
|
|
131
|
-
r =
|
135
|
+
r = if config[:cert_file]
|
136
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
137
|
+
ssl_ca_file: config[:cert_file].to_s,
|
138
|
+
timeout: config[:timeout],
|
139
|
+
headers: headers)
|
140
|
+
else
|
141
|
+
RestClient::Resource.new("#{protocol}://#{config[:server]}:#{config[:port]}#{resource}?pretty",
|
142
|
+
timeout: config[:timeout],
|
143
|
+
headers: headers)
|
144
|
+
end
|
132
145
|
JSON.parse(r.get)
|
133
146
|
rescue Errno::ECONNREFUSED
|
134
147
|
warning 'Connection refused'
|
data/bin/metrics-es-node.rb
CHANGED
@@ -71,6 +71,10 @@ class ESMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
71
71
|
short: '-e',
|
72
72
|
long: '--https'
|
73
73
|
|
74
|
+
option :cert_file,
|
75
|
+
description: 'Cert file to use',
|
76
|
+
long: '--cert CERT_FILE'
|
77
|
+
|
74
78
|
def acquire_es_version
|
75
79
|
info = get_es_resource('/')
|
76
80
|
info['version']['number']
|
@@ -89,7 +93,16 @@ class ESMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
89
93
|
'http'
|
90
94
|
end
|
91
95
|
|
92
|
-
r =
|
96
|
+
r = if config[:cert_file]
|
97
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
98
|
+
ssl_ca_file: config[:cert_file].to_s,
|
99
|
+
timeout: config[:timeout],
|
100
|
+
headers: headers)
|
101
|
+
else
|
102
|
+
RestClient::Resource.new("#{protocol}://#{config[:host]}:#{config[:port]}#{resource}",
|
103
|
+
timeout: config[:timeout],
|
104
|
+
headers: headers)
|
105
|
+
end
|
93
106
|
JSON.parse(r.get)
|
94
107
|
rescue Errno::ECONNREFUSED
|
95
108
|
warning 'Connection refused'
|
metadata
CHANGED
@@ -1,43 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.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-02-
|
11
|
+
date: 2018-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rest-client
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.8.0
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.8.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: elasticsearch
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.0.14
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 1.0.14
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: aws-es-transport
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +50,34 @@ dependencies:
|
|
78
50
|
- - "~>"
|
79
51
|
- !ruby/object:Gem::Version
|
80
52
|
version: '2.1'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: elasticsearch
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.0.14
|
60
|
+
type: :runtime
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.0.14
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: rest-client
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - '='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.8.0
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 1.8.0
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: sensu-plugin
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,33 +177,33 @@ dependencies:
|
|
177
177
|
- !ruby/object:Gem::Version
|
178
178
|
version: '3.2'
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
|
-
name:
|
180
|
+
name: rspec
|
181
181
|
requirement: !ruby/object:Gem::Requirement
|
182
182
|
requirements:
|
183
183
|
- - "~>"
|
184
184
|
- !ruby/object:Gem::Version
|
185
|
-
version:
|
185
|
+
version: '3.1'
|
186
186
|
type: :development
|
187
187
|
prerelease: false
|
188
188
|
version_requirements: !ruby/object:Gem::Requirement
|
189
189
|
requirements:
|
190
190
|
- - "~>"
|
191
191
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
192
|
+
version: '3.1'
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
|
-
name:
|
194
|
+
name: rubocop
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
196
196
|
requirements:
|
197
197
|
- - "~>"
|
198
198
|
- !ruby/object:Gem::Version
|
199
|
-
version:
|
199
|
+
version: 0.40.0
|
200
200
|
type: :development
|
201
201
|
prerelease: false
|
202
202
|
version_requirements: !ruby/object:Gem::Requirement
|
203
203
|
requirements:
|
204
204
|
- - "~>"
|
205
205
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
206
|
+
version: 0.40.0
|
207
207
|
- !ruby/object:Gem::Dependency
|
208
208
|
name: yard
|
209
209
|
requirement: !ruby/object:Gem::Requirement
|