sensu 0.13.0.alpha.2-java
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 +7 -0
- data/CHANGELOG.md +455 -0
- data/MIT-LICENSE.txt +20 -0
- data/README.md +11 -0
- data/bin/sensu-api +10 -0
- data/bin/sensu-client +10 -0
- data/bin/sensu-server +10 -0
- data/lib/sensu.rb +3 -0
- data/lib/sensu/api.rb +674 -0
- data/lib/sensu/cli.rb +51 -0
- data/lib/sensu/client.rb +261 -0
- data/lib/sensu/constants.rb +9 -0
- data/lib/sensu/daemon.rb +221 -0
- data/lib/sensu/redis.rb +20 -0
- data/lib/sensu/sandbox.rb +11 -0
- data/lib/sensu/server.rb +764 -0
- data/lib/sensu/socket.rb +79 -0
- data/lib/sensu/utilities.rb +60 -0
- data/sensu.gemspec +38 -0
- metadata +277 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dca362a35da09af8f55b176889be21e2d38f7cb4
|
4
|
+
data.tar.gz: 9ec53b9cbaecdebab79b00ea5c7ce37152a7d6dc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b474c4e01dde4807f377fddf9bfe8f2e7f5c2ee182dc0479f423ba1cd6345155d1f00b4511994bfbc2f5af3c2ecf2f2aec47b6b558f7142d8660a0015bd671c6
|
7
|
+
data.tar.gz: 3bb667b544c46c8aa6f50d2c02dc7651162ab61abbd18306b5b70383b0881125990b9bb7648db07d5215f3465f2821d17a86ef9a4655809a5f481d3ec75e3132
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,455 @@
|
|
1
|
+
## 0.13.0 - TBD
|
2
|
+
|
3
|
+
### Non-backwards compatible changes
|
4
|
+
|
5
|
+
API GET /events now provides all event data, the same data passed to event
|
6
|
+
handlers.
|
7
|
+
|
8
|
+
Standalone check results are no longer merged with check definitions
|
9
|
+
residing on the server(s).
|
10
|
+
|
11
|
+
Removed the generic extension type.
|
12
|
+
|
13
|
+
Extension stop() no longer takes a callback, and is called when the
|
14
|
+
eventmachine reactor is stopped.
|
15
|
+
|
16
|
+
### Features
|
17
|
+
|
18
|
+
Abstracted the transport layer, opening Sensu up to alternative messaging
|
19
|
+
services.
|
20
|
+
|
21
|
+
Event bridge extension type, allowing all events to be relayed to other
|
22
|
+
services.
|
23
|
+
|
24
|
+
Client keepalives now contain the Sensu version.
|
25
|
+
|
26
|
+
### Other
|
27
|
+
|
28
|
+
Clients now only load instances of check extensions, and servers load
|
29
|
+
everything but check extensions.
|
30
|
+
|
31
|
+
Fixed standalone check scheduling, no longer mutating definitions.
|
32
|
+
|
33
|
+
Fixed command token substitution, allowing for the use of colons.
|
34
|
+
|
35
|
+
Log events are flushed when the eventmachine reactor stops.
|
36
|
+
|
37
|
+
Dropped the Oj JSON parser, heap allocation issues and memory leaks.
|
38
|
+
|
39
|
+
Client RabbitMQ queues are no longer server named (bugs), they are now
|
40
|
+
composed of the client name, Sensu version, and the timestamp at creation.
|
41
|
+
|
42
|
+
## 0.12.6 - 2014-02-19
|
43
|
+
|
44
|
+
### Non-backwards compatible changes
|
45
|
+
|
46
|
+
The "profiler" extension type `Sensu::Extension::Profiler` is now "generic"
|
47
|
+
`Sensu::Extension::Generic`.
|
48
|
+
|
49
|
+
## 0.12.5 - 2014-01-20
|
50
|
+
|
51
|
+
### Other
|
52
|
+
|
53
|
+
Fixed handler severity filtering, check history is an array of strings.
|
54
|
+
|
55
|
+
## 0.12.4 - 2014-01-17
|
56
|
+
|
57
|
+
### Other
|
58
|
+
|
59
|
+
Fixed filter "eval:" on Ruby 2.1.0, and logging errors.
|
60
|
+
|
61
|
+
Fixed handler severity filtering when event action is "resolve". Events
|
62
|
+
with an action of "resolve" will be negated if the severity conditions have
|
63
|
+
not been met since the last OK status.
|
64
|
+
|
65
|
+
## 0.12.3 - 2013-12-19
|
66
|
+
|
67
|
+
### Other
|
68
|
+
|
69
|
+
The pipe handler and mutator concurrency limit is now imposed by
|
70
|
+
`EM::Worker`. A maximum of 12 processes may be spawned at a time.
|
71
|
+
|
72
|
+
## 0.12.2 - 2013-11-22
|
73
|
+
|
74
|
+
### Other
|
75
|
+
|
76
|
+
API routes now have an optional trailing slash.
|
77
|
+
|
78
|
+
RabbitMQ initial connection timeout increased from 10 to 20 seconds.
|
79
|
+
|
80
|
+
RabbitMQ connection closed errors are now rescued when attempting to
|
81
|
+
publish to an exchange, while Sensu is reconnecting.
|
82
|
+
|
83
|
+
## 0.12.1 - 2013-11-02
|
84
|
+
|
85
|
+
### Features
|
86
|
+
|
87
|
+
API GET `/stashes` now returns stash expiration information, time
|
88
|
+
remaining in seconds. eg. [{"path": "foo", "content":{"bar": "baz"},
|
89
|
+
"expire": 3598}].
|
90
|
+
|
91
|
+
### Other
|
92
|
+
|
93
|
+
Fixed a config loading bug where Sensu was not ignoring files without a
|
94
|
+
valid JSON object.
|
95
|
+
|
96
|
+
Fixed `handling event` log line data for extensions.
|
97
|
+
|
98
|
+
## 0.12.0 - 2013-10-28
|
99
|
+
|
100
|
+
### Non-backwards compatible changes
|
101
|
+
|
102
|
+
Deprecated API endpoints, `/check/request` and `/event/resolve`, have been
|
103
|
+
removed. Please use `/request` and `/resolve`.
|
104
|
+
|
105
|
+
### Features
|
106
|
+
|
107
|
+
API stashes can now expire, automatically removing themselves after `N`
|
108
|
+
seconds, eg. '{"path": "foo", "content":{"bar": "baz"}, "expire": 600}'.
|
109
|
+
|
110
|
+
### Other
|
111
|
+
|
112
|
+
Added additional AMQP library version constraints.
|
113
|
+
|
114
|
+
Improved API POST data validation.
|
115
|
+
|
116
|
+
## 0.11.3 - 2013-10-23
|
117
|
+
|
118
|
+
### Other
|
119
|
+
|
120
|
+
Fixed redacting sensitive information in log lines during configuration
|
121
|
+
loading.
|
122
|
+
|
123
|
+
Fixed AMQP library dependency version resolution.
|
124
|
+
|
125
|
+
Changed to an older version of the JSON parser, until the source of a
|
126
|
+
memory leak is identified.
|
127
|
+
|
128
|
+
## 0.11.2 - 2013-10-23
|
129
|
+
|
130
|
+
### Features
|
131
|
+
|
132
|
+
Sensu profiler extension support.
|
133
|
+
|
134
|
+
Added logger() to the extension API, providing access to the Sensu logger.
|
135
|
+
|
136
|
+
## 0.11.1 - 2013-10-16
|
137
|
+
|
138
|
+
### Other
|
139
|
+
|
140
|
+
Updated "em-redis-unified" dependency version lock, fixing Redis
|
141
|
+
reconnect when using authentication and/or select database.
|
142
|
+
|
143
|
+
## 0.11.0 - 2013-10-02
|
144
|
+
|
145
|
+
### Non-backwards compatible changes
|
146
|
+
|
147
|
+
WARNING: Extensions compatible with previous versions of Sensu will
|
148
|
+
NO LONGER FUNCTION until they are updated for Sensu 0.11.x! Extensions
|
149
|
+
are an experimental feature and not widely used.
|
150
|
+
|
151
|
+
Sensu settings are now part of the extension API & are no longer passed
|
152
|
+
as an argument to run.
|
153
|
+
|
154
|
+
TCP handlers no longer have a socket timeout, instead they have a
|
155
|
+
handler timeout for consistency.
|
156
|
+
|
157
|
+
### Features
|
158
|
+
|
159
|
+
You can specify the Sensu log severity level using the -L (--log_level)
|
160
|
+
CLI argument, providing a valid level (eg. warn).
|
161
|
+
|
162
|
+
You can specify custom sensitive Sensu client key/values to be redacted
|
163
|
+
from log events and keepalives, eg. "client": { "redact": [
|
164
|
+
"secret_access_key" ] }.
|
165
|
+
|
166
|
+
You can configure the Sensu client socket (UDP & TCP), bind & port, eg.
|
167
|
+
"client": { "socket": { "bind": "0.0.0.0", "port": 4040 } }.
|
168
|
+
|
169
|
+
Handlers & mutators can now have a timeout, in seconds.
|
170
|
+
|
171
|
+
You can configure the RabbitMQ channel prefetch value (advanced), eg.
|
172
|
+
"rabbitmq": { "prefetch": 100 }.
|
173
|
+
|
174
|
+
### Other
|
175
|
+
|
176
|
+
Sensu passes a dup of event data to mutator & handler extensions to
|
177
|
+
prevent mutation.
|
178
|
+
|
179
|
+
Extension runs are wrapped in a begin/rescue block, a safety net.
|
180
|
+
|
181
|
+
UDP handler now binds to "0.0.0.0".
|
182
|
+
|
183
|
+
Faster JSON parser.
|
184
|
+
|
185
|
+
AMQP connection heartbeats will no longer attempt to use a closed
|
186
|
+
channel.
|
187
|
+
|
188
|
+
Missing AMQP connection heartbeats will result in a reconnect.
|
189
|
+
|
190
|
+
The keepalive & result queues will now auto-delete when there are no
|
191
|
+
active consumers. This change stops the creation of a keepalive/result
|
192
|
+
backlog, stale data that may overwhelm the recovering consumers.
|
193
|
+
|
194
|
+
Improved Sensu client socket check validation.
|
195
|
+
|
196
|
+
AMQP connection will time out if the vhost is missing, there is a lack
|
197
|
+
of permissions, or authentication fails.
|
198
|
+
|
199
|
+
## 0.10.2 - 2013-07-18
|
200
|
+
|
201
|
+
### Other
|
202
|
+
|
203
|
+
Fixed redacting passwords in client data, correct value is now provided
|
204
|
+
to check command token substitution.
|
205
|
+
|
206
|
+
## 0.10.1 - 2013-07-17
|
207
|
+
|
208
|
+
### Features
|
209
|
+
|
210
|
+
You can specify multiple Sensu service configuration directories,
|
211
|
+
using the -d (--config_dir) CLI argument, providing a comma delimited
|
212
|
+
list.
|
213
|
+
|
214
|
+
A post initialize hook ("post_init()") was added to the extension API,
|
215
|
+
enabling setup (connections, etc.) within the event loop.
|
216
|
+
|
217
|
+
### Other
|
218
|
+
|
219
|
+
Catches nil exit statuses, returned from check execution.
|
220
|
+
|
221
|
+
Empty command token substitution defaults now work. eg. "-f :::bar|:::"
|
222
|
+
|
223
|
+
Specs updated to run on OS X, bash compatibility.
|
224
|
+
|
225
|
+
## 0.10.0 - 2013-06-27
|
226
|
+
|
227
|
+
### Non-backwards compatible changes
|
228
|
+
|
229
|
+
Client & check names must not contain spaces or special characters.
|
230
|
+
The valid characters are: a-z, A-Z, 0-9, "_", ".", and "-".
|
231
|
+
|
232
|
+
"command_executed" was removed from check results, as it may contain
|
233
|
+
sensitive information, such as credentials.
|
234
|
+
|
235
|
+
### Features
|
236
|
+
|
237
|
+
Passwords in client data (keepalives) and log events are replaced with
|
238
|
+
"REDACTED", reducing the possibility of exposure. The following
|
239
|
+
attributes will have their values replaced: "password", "passwd", and
|
240
|
+
"pass".
|
241
|
+
|
242
|
+
### Other
|
243
|
+
|
244
|
+
Fixed nil check status when check does not exit.
|
245
|
+
|
246
|
+
Fixed the built-in debug handler output encoding (JSON).
|
247
|
+
|
248
|
+
## 0.9.13 - 2013-05-20
|
249
|
+
|
250
|
+
### Features
|
251
|
+
|
252
|
+
The Sensu API now provides /health, an endpoint for connection & queue
|
253
|
+
monitoring. Monitor Sensu health with services like Pingdom.
|
254
|
+
|
255
|
+
Sensu clients can configure their own keepalive handler(s) & thresholds.
|
256
|
+
|
257
|
+
Command substitution tokens can have default values
|
258
|
+
(eg. :::foo.bar|default:::).
|
259
|
+
|
260
|
+
Check result (& event) data now includes "command_executed", the command
|
261
|
+
after token substitution.
|
262
|
+
|
263
|
+
### Other
|
264
|
+
|
265
|
+
Validating check results, as bugs in older Sensu clients may produce
|
266
|
+
invalid or malformed results.
|
267
|
+
|
268
|
+
Improved stale client monitoring, to better handle client deletions.
|
269
|
+
|
270
|
+
Improved check validation, names must not contain spaces or special
|
271
|
+
characters, & an "interval" is not required when "publish" is false.
|
272
|
+
|
273
|
+
## 0.9.12 - 2013-04-03
|
274
|
+
|
275
|
+
### Features
|
276
|
+
|
277
|
+
The Sensu API now provides client history, providing a list of executed
|
278
|
+
checks, their status histories, and last execution timestamps. The client
|
279
|
+
history endpoint is /clients/\<client-name\>/history, which returns a JSON
|
280
|
+
body.
|
281
|
+
|
282
|
+
The Sensu API can now bind to a specific address. To bind to an address,
|
283
|
+
use the API configuration key "bind", with a string value (eg.
|
284
|
+
"127.0.0.1").
|
285
|
+
|
286
|
+
A stop hook was added to the Sensu extension API, enabling gracefull
|
287
|
+
stop for extensions. The stop hook is called before the event loop comes
|
288
|
+
to a halt.
|
289
|
+
|
290
|
+
The Sensu client now supports check extensions, checks the run within the
|
291
|
+
Sensu Ruby VM, for aggresive service monitoring & metric collection.
|
292
|
+
|
293
|
+
### Non-backwards compatible changes
|
294
|
+
|
295
|
+
The Sensu API stashes route changed, GET /stashes now returns an array of
|
296
|
+
stash objects, with support for pagination. The API no longer uses POST
|
297
|
+
for multi-get.
|
298
|
+
|
299
|
+
Sensu services no longer have config file or directory defaults.
|
300
|
+
Configuration paths a left to packaging.
|
301
|
+
|
302
|
+
### Other
|
303
|
+
|
304
|
+
All Sensu API 201 & 202 status responses now return a body.
|
305
|
+
|
306
|
+
The Sensu server now "pauses" when reconnecting to RabbitMQ. Pausing the
|
307
|
+
Sensu server when reconnecting to RabbitMQ fixes an issue when it is also
|
308
|
+
reconnecting to Redis.
|
309
|
+
|
310
|
+
Keepalive checks now produce results with a zero exit status, fixing
|
311
|
+
keepalive check history.
|
312
|
+
|
313
|
+
Sensu runs on Ruby 2.0.0p0.
|
314
|
+
|
315
|
+
Replaced the JSON parser with a faster implementation.
|
316
|
+
|
317
|
+
Replaced the Sensu logger with a more lightweight & EventMachine
|
318
|
+
friendly implementation. No more TTY detection with colours.
|
319
|
+
|
320
|
+
Improved config validation.
|
321
|
+
|
322
|
+
## 0.9.11 - 2013-02-22
|
323
|
+
|
324
|
+
### Features
|
325
|
+
|
326
|
+
API aggregate age filter parameter.
|
327
|
+
|
328
|
+
### Non-backwards compatible changes
|
329
|
+
|
330
|
+
Removed /info "health" in favour of RabbitMQ & Redis "connected".
|
331
|
+
|
332
|
+
### Other
|
333
|
+
|
334
|
+
No longer using the default AMQP exchange or publishing directly to queues.
|
335
|
+
|
336
|
+
Removed API health filter, as the Redis connection now recovers.
|
337
|
+
|
338
|
+
Fixed config & extension directory loading on Windows.
|
339
|
+
|
340
|
+
Client socket handles non-ascii input.
|
341
|
+
|
342
|
+
## 0.9.10 - 2013-01-30
|
343
|
+
|
344
|
+
### Features
|
345
|
+
|
346
|
+
Handlers can be subdued like checks, suppression windows.
|
347
|
+
|
348
|
+
### Non-backwards compatible changes
|
349
|
+
|
350
|
+
Extensions have access to settings.
|
351
|
+
|
352
|
+
### Other
|
353
|
+
|
354
|
+
Client queue names are now determined by the broker (RabbitMQ).
|
355
|
+
|
356
|
+
Improved zombie reaping.
|
357
|
+
|
358
|
+
## 0.9.9 - 2013-01-14
|
359
|
+
|
360
|
+
### Features
|
361
|
+
|
362
|
+
RabbitMQ keepalives & results queue message and consumer counts available
|
363
|
+
via the API (/info).
|
364
|
+
|
365
|
+
Aggregate results available via the API when using a parameter
|
366
|
+
(?results=true).
|
367
|
+
|
368
|
+
Event filters; filtering events for handlers, using event attribute
|
369
|
+
matching.
|
370
|
+
|
371
|
+
TCP handler socket timeout, which defaults to 10 seconds.
|
372
|
+
|
373
|
+
Check execution timeout.
|
374
|
+
|
375
|
+
Server extensions (mutators & handlers).
|
376
|
+
|
377
|
+
### Other
|
378
|
+
|
379
|
+
Server is now using basic AMQP QoS (prefetch), just enough back pressure.
|
380
|
+
|
381
|
+
Improved check execution scheduling.
|
382
|
+
|
383
|
+
Fixed server execute command method error handling.
|
384
|
+
|
385
|
+
Events with a resolve action bypass handler severity filtering.
|
386
|
+
|
387
|
+
Check flap detection configuration validation.
|
388
|
+
|
389
|
+
## 0.9.8 - 2012-11-15
|
390
|
+
|
391
|
+
### Features
|
392
|
+
|
393
|
+
Aggregates, pooling and summarizing check results, very handy for
|
394
|
+
monitoring a horizontally scaled or distributed system.
|
395
|
+
|
396
|
+
Event handler severities, only handle events that have specific
|
397
|
+
severities.
|
398
|
+
|
399
|
+
### Other
|
400
|
+
|
401
|
+
Fixed flap detection.
|
402
|
+
|
403
|
+
Gracefully handle possible failed RabbitMQ authentication.
|
404
|
+
|
405
|
+
Catch and log AMQP channel errors, which cause the channel to close.
|
406
|
+
|
407
|
+
Fixed API event resolution handling, for events created by standalone
|
408
|
+
checks.
|
409
|
+
|
410
|
+
Minor performance improvements.
|
411
|
+
|
412
|
+
## 0.9.7 - 2012-09-20
|
413
|
+
|
414
|
+
### Features
|
415
|
+
|
416
|
+
Event data mutators, manipulate event data and its format prior to
|
417
|
+
sending to a handler.
|
418
|
+
|
419
|
+
TCP and UDP handler types, for writing event data to sockets.
|
420
|
+
|
421
|
+
API resources now support singular & plural, Rails friendly.
|
422
|
+
|
423
|
+
Client safe mode, require local check definition in order to execute
|
424
|
+
a check, disable for simpler deployment (default).
|
425
|
+
|
426
|
+
### Non-backwards compatible changes
|
427
|
+
|
428
|
+
AMQP handlers can no longer use `"send_only_check_output": true`, but
|
429
|
+
instead have access to the built-in mutators `"mutator": "only_check_output"` and
|
430
|
+
`"mutator": "only_check_output_split"`.
|
431
|
+
|
432
|
+
Ruby 1.8.7-p249 is no longer supported, as the AMQP library no longer
|
433
|
+
does. Please use the Sensu APT/YUM packages which contain an embedded
|
434
|
+
Ruby.
|
435
|
+
|
436
|
+
Client expects check requests to contain a command, be sure to upgrade
|
437
|
+
servers prior to upgrading clients.
|
438
|
+
|
439
|
+
Check subdue options have been modified, "start" is now "begin".
|
440
|
+
|
441
|
+
### Other
|
442
|
+
|
443
|
+
Improved RabbitMQ and Redis connection recovery.
|
444
|
+
|
445
|
+
Fixed API POST input validation.
|
446
|
+
|
447
|
+
Redis client connection heartbeat.
|
448
|
+
|
449
|
+
Improved graceful process termination.
|
450
|
+
|
451
|
+
Improved client socket ping/pong.
|
452
|
+
|
453
|
+
Strict dependency version locking.
|
454
|
+
|
455
|
+
Adjusted logging level for metric events.
|