CHANGELOG
Releases
- Core 1.0.4 Release Notes
- Core 1.0.3 Release Notes
- Core 1.0.2 Release Notes
- Core 1.0.1 Release Notes
- Core 1.0.0 Release Notes
- Core 0.29.0 Release Notes
- Core 0.28.5 Release Notes
- Core 0.28.4 Release Notes
- Core 0.28.3 Release Notes
- Core 0.28.2 Release Notes
- Core 0.28.1 Release Notes
- Core 0.28.0 Release Notes
- Core 0.27.1 Release Notes
- Core 0.27.0 Release Notes
- Core 0.26.5 Release Notes
- Core 0.26.4 Release Notes
- Core 0.26.3 Release Notes
- Core 0.26.2 Release Notes
- Core 0.26.1 Release Notes
- Core 0.26.0 Release Notes
- Core 0.25.7 Release Notes
- Core 0.25.6 Release Notes
- Core 0.25.5 Release Notes
- Core 0.25.4 Release Notes
- Core 0.25.3 Release Notes
- Core 0.25.1 Release Notes
- Core 0.25.0 Release Notes
- Core 0.24.1 Release Notes
- Core 0.24.0 Release Notes
- Core 0.23.2 Release Notes
- Core 0.23.1 Release Notes
- Core 0.23.0 Release Notes
Core 1.0.4 Release Notes
October, 17 2017 — Sensu Core version 1.0.4 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- DEBUG: Added HTTP response body to sensu-api debug-level log messages. This is a temporary change, not included in future releases.
Core 1.0.3 Release Notes
Source: GitHub.com
August 25, 2017 — Sensu Core version 1.0.3 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Now using EventMachine version 1.2.5 in order to support larger EM timer intervals. EM timers are used by the Sensu check scheduler and many other Sensu components.
Core 1.0.2 Release Notes
Source: GitHub.com
July 27, 2017 — Sensu Core version 1.0.2 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Addressed an issue with client keepalive transport acknowledgments. We discovered a situation where poor Redis performance could negatively impact client keepalive processing, potentially triggering a compounding failure that the Sensu server is unable to recover from. Moving acknowledgments to the next tick of the EventMachine reactor avoids the situation entirely.
Core 1.0.1 Release Notes
Source: GitHub.com
July 24, 2017 — Sensu Core version 1.0.1 has been released and is available for immediate download. Please note the following improvements:
CHANGES
BUGFIX: Fixed Sensu configuration validation, it is now being applied. There was a bug that allowed invalid Sensu configuration definitions to be loaded, causing unexpected behaviours.
BUGFIX: Now excluding certain file system directories from the Sensu RPM package spec, as they could cause conflicts with other RPM packages.
Core 1.0.0 Release Notes
Source: GitHub.com
July 11, 2017 — Sensu Core version 1.0.0 has been released and is available for immediate download. Please note the following improvements:
CHANGES
IMPORTANT: Sensu packages now include Ruby 2.4.1. Upgrading from prior versions of Sensu will require any plugin or extension gems to be re-installed under the new Ruby environment.
IMPORTANT: Sensu packages now include sensu-plugin 2.0.0, which disables its deprecated filter methods by default, i.e. occurrences. Sensu 1.0 includes built-in filters that provide the same functionality with several improvements. The built-in filters are “occurrences” and “check_dependencies”. To use the built-in filters, apply them to Sensu event handlers via their definition
"filters"
attribute, e.g."filters": ["occurrences", "check_dependencies"]
. These filters can now be used with Sensu event handlers that do not use the sensu-plugin library (or Ruby).NEW: Added Sensu API event endpoint alias “incidents”, e.g. /incidents, /incidents/:client/:check.
IMPROVEMENT: Improved Sensu client keepalive configuration validation, now including coverage for check low/high flap thresholds etc.
IMPROVEMENT: Improved Sensu client socket check result validation, now including coverage for check low/high flap thresholds etc.
IMPROVEMENT: The sensu-install tool now notifies users when it is unable to successfully install an extension, when the environment variable EMBEDDED_RUBY is set to false.
IMPROVEMENT: Added the Sensu RELEASE_INFO constant, containing information about the Sensu release, used by the API /info endpoint and Server registration.
BUGFIX: Sensu handler severities filtering now accounts for flapping events.
BUGFIX: Fixed Sensu Redis connection on error reconnect, no longer reusing the existing EventMachine connection handler.
Core 0.29.0 Release Notes
Source: GitHub.com
April 7, 2017 — Sensu Core version 0.29.0 has been released and is available for immediate download. Please note the following improvements:
CHANGES
IMPORTANT: Sensu packages now include Ruby 2.4.1. Upgrading from prior versions of Sensu will require any plugin or extension gems to be re-installed under the new Ruby environment.
IMPORTANT: Sensu packages now include sensu-plugin 2.0.0, which disables its deprecated filter methods by default, i.e. occurrences. Sensu 0.29 includes built-in filters that provide the same functionality with several improvements. The built-in filters are “occurrences” and “check_dependencies”. To use the built-in filters, apply them to Sensu event handlers via their definition
"filters"
attribute, e.g."filters": ["occurrences", "check_dependencies"]
. These filters can now be used with Sensu event handlers that do not use the sensu-plugin library (or Ruby).IMPROVEMENT: Sensu server tasks, replacing the Sensu server leader functionality, distributing certain server responsibilities amongst the running Sensu servers. A server task can only run on one Sensu server at a time. Sensu servers partake in an election process to become responsible for one or more tasks. A task can failover to another Sensu server.
IMPROVEMENT: Sensu API response object filtering for any GET request. Filtering is done with one or more dot notation query parameters, beginning with
filter.
, to specify object attributes to filter by, e.g./events?filter.client.environment=production&filter.check.contact=ops
.NEW: Added API endpoint GET
/settings
to provided the APIs running configuration. Sensitive setting values are redacted by default, unless the query parameterredacted
is set tofalse
, e.g./settings?redacted=false
.IMPROVEMENT: Added support for invalidating a Sensu client when deleting it via the Sensu API DELETE
/clients/:name
endpoint, disallowing further client keepalives and check results until the client is either successfully removed from the client registry or for a specified duration of time. To invalidate a Sensu client until it is deleted, the query parameterinvalidate
must be set totrue
, e.g./clients/app01.example.com?invalidate=true
. To invalidate the client for a certain amount of time (in seconds), the query parameterinvalidate_expire
must be set as well, e.g./clients/app01.example.com?invalidate=true&invalidate_expire=300
.IMPROVEMENT: Added a Sensu settings hexdigest, exposed via the Sensu API GET
/info
endpoint, providing a means to determine if a Sensu server’s configuration differs from the rest.IMPROVEMENT: Added a proxy argument to
sensu-install
. To use a proxy for Sensu plugin and extension installation withsensu-install
, use the-x
or--proxy
argument, e.g.sensu-install -e statsd --proxy http://proxy.example.com:8080
.IMPROVEMENT: Added support for issuing proxy check requests via the Sensu API POST
/request
endpoint.IMPROVEMENT: The Sensu API now logs response times.
IMPROVEMENT: The Sensu API now returns a 405 (Method Not Allowed) when an API endpoint does not support a HTTP request method, e.g.
PUT
, and sets the HTTP header “Allow” to indicate which HTTP request methods are supported by the requested endpoint.IMPROVEMENT: Added a built-in filter for check dependencies,
check_dependencies
, which implements the check dependency filtering logic in the Sensu Plugin library.IMPROVEMENT: Added default values for Sensu CLI options
config_file
("/etc/sensu/config.json"
) andconfig_dirs
(["/etc/sensu/conf.d"]
). These defaults are only applied when the associated file and/or directory exist.BUGFIX: The built-in filter
occurrences
now supportsrefresh
for flapping events (actionflapping
).BUGFIX: Force the configured Redis port to be an integer, as some users make the mistake of using a string.
Core 0.28.5 Release Notes
Source: GitHub.com
March 23, 2017 — Sensu Core version 0.28.5 has been released and is available for immediate download. Please note the following changes:
- BUGFIX: Fixed check
subdue
and filterwhen
features when a time window spans over00:00:00
, crossing the day boundary.
Core 0.28.4 Release Notes
Source: GitHub.com
March 10, 2017 — Sensu Core version 0.28.4 has been released and is available for immediate download. Please note the following changes:
- BUGFIX: In the interest of addressing a regression causing duplicate check execution requests, code added in 0.28.0 to account for task scheduling drift has been removed.
Core 0.28.3 Release Notes
Source: GitHub.com
March 9, 2017 — Sensu Core version 0.28.3 has been released and is available for immediate download. Please note the following changes:
- BUGFIX: The Sensu client now includes check source when tracking in progress check executions. These changes are necessary to allow the Sensu client to execute on several concurrent proxy check requests.
Core 0.28.2 Release Notes
Source: GitHub.com
March 6, 2017 — Sensu Core version 0.28.2 has been released and is available for immediate download. Please note the following changes:
- BUGFIX: Clients created via /clients API endpoint now have a per-client subscription added automatically, ensuring they can be silenced.
Core 0.28.1 Release Notes
Source: GitHub.com
March 2, 2017 — Sensu Core version 0.28.1 has been released and is available for immediate download. Please note the following changes:
BUGFIX: Check requests with proxy_requests attributes are no longer overridden by local check definitions.
IMPROVEMENT: Updated Oj (used by the sensu-json library) to the latest release (2.18.1) for Ruby 2.4 compatibility.
IMPROVEMENT: Updated embedded OpenSSL from 1.0.2j to 1.0.2k.
Core 0.28.0 Release Notes
Source: GitHub.com
February 23, 2017 — Sensu Core version 0.28.0 has been released and is available for immediate download. Please note the following improvements:
CHANGES
IMPROVEMENT: Added proxy check requests to improve Sensu’s ability to monitor external resources that have an associated Sensu proxy client. Publish a check request to the configured
subscribers
(e.g.["round-robin:snmp_pollers"]
) for every Sensu client in the registry that matches the configured client attributes inclient_attributes
on the configuredinterval
(e.g.60
). Client tokens in the check definition (e.g."check-snmp-if.rb -h :::address::: -i eth0"
) are substituted prior to publishing the check request. The check request check source is set to the client name.IMPROVEMENT: Schedule check requests and standalone executions with the Cron syntax.
IMPROVEMENT: Added the Sensu server registry, containing information about the running Sensu servers. Information about the Sensu servers is now accessible via the Sensu API /info endpoint.
IMPROVEMENT: Added two optional attributes to Sensu API POST /request, “reason” and “creator”, for additional context. The check request reason and creator are added to the check request payload under “api_requested” and become part of the check result.
IMPROVEMENT: Added event IDs to event handler log events for additional context, making it easier to trace an event through the Sensu pipeline.
BUGFIX: The Sensu interval timers, used for scheduling tasks, now account for drift. The check request and standalone execution scheduler timers are now more accurate.
BUGFIX: Fixed a bug in the Sensu deep_merge() method that was responsible for mutating arrays of the original provided objects.
Core 0.27.1 Release Notes
Source: GitHub.com
February 17, 2017 — Sensu Core version 0.27.1 has been released and is available for immediate download. Please note the following improvements:
CHANGES
IMPROVEMENT: Failed pipe handler executions are now logged with the error log level.
IMPROVEMENT: Sensu server now adds a unique per-client subscription to client keepalives when missing. This is to enable built-in event silencing for older Sensu clients (< 0.26).
BUGFIX: Check subdue and filter when time windows now account for GMT offsets.
BUGFIX: Non UTF-8 characters in check tokens are now removed.
BUGFIX: Fixed filter name logging when an event is filtered.
Core 0.27.0 Release Notes
Source: GitHub.com
January 26, 2017 — Sensu Core version 0.27.0 has been released and is available for immediate download. Please note the following improvements:
IMPORTANT
This release includes potentially breaking, backwards-incompatible changes:
NEW: Sensu is now packaged specifically for each supported platform version and architecture; previously, single packages were built for each platform and architecture using the oldest supported platform version. Accordingly, package repository structures have changed to support per-platform-version packages. See the platforms page for links to updated installation instructions.
NEW: On platforms where systemd is the default init, Sensu now provides systemd unit files instead of sysv init scripts.
NOTE: The transition of service management from sysv to systemd may initially cause an error when restarting Sensu services. To avoid this, please be sure to stop Sensu services before upgrading to Sensu 0.27 and starting them again.
REMOVED: The embedded runit service supervisor is no longer included in Sensu packages for Linux platforms.
REPLACED: The sensu-omnibus project has superseded sensu-build as the tool chain for building official Sensu packages. This project uses Travis CI to automate package builds using a combination of Test Kitchen, Chef and Omnibus tools.
IMPROVEMENT: Sensu packages for Windows now include Ruby 2.3.0, upgraded from Ruby 2.0.0 in prior versions of Sensu.
IMPROVEMENT: Sensu packages for Windows now include winsw 2.0.1, upgraded from winsw 1.16. This version includes a number of changes which should help to address issues around orphaned processes.
CHANGED: The CONFIG_DIR environment variable has been renamed to CONFD_DIR. This environment varible is used to specify the directory path where Sensu processes will load any JSON config files for deep merging. If you are using /etc/default/sensu to specify a custom value for
CONFIG_DIR
, please update it to the newCONFD_DIR
variable name.IMPROVEMENT: Updated embedded OpenSSL from 1.0.1t to 1.0.2k.
CHANGES
NEW: Added a Sensu client HTTP socket for check result input and informational queries. The client HTTP socket provides several endpoints,
/info
,/results
, and/settings
. Basic authentication is supported, which is required for certain endpoints, i.e./settings
. The client HTTP socket is configurable via the Sensu client definition,"http_socket": {}
.NEW: Added API endpoint
/silenced/ids/:id
for fetching a silence entry by ID.NEW: Added check attribute
ttl_status
, allowing checks to set a different TTL event check status (default is1
warning).NEW: Added client deregistration attribute
status
, allowing clients to set a different event check status for their deregistration events (default is1
warning).NEW: Added Rubygems cleanup support to
sensu-install
, via the command line argument-c
or--clean
when installing one or more plugins and/or extensions. If a version is provided for the plugin(s) or extension(s), all other installed versions of them will be removed, e.g.sensu-install -e snmp-trap:0.0.23 -c
. If a version is not provided, all installed versions except the latest will be removed.IMPROVEMENT: Hostnames are now resolved prior to making connection attempts, this applies to the Sensu Transport (i.e. RabbitMQ) and Redis connections. This allows Sensu to handle resolution failures and enables failover via DNS and services like Amazon AWS ElastiCache.
IMPROVEMENT: Added the filter name to event filtered log events.
IMPROVEMENT: Check TTL events now have the check interval overridden to the TTL monitoring interval, this change allows event occurrence filtering to work as expected.
BUGFIX: Silenced resolution events with silencing
"expire_on_resolve": true
are now handled.
Core 0.26.5 Release Notes
Source: GitHub.com
October 12, 2016 — Sensu Core version 0.26.5 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed Sensu client configuration validation when the automatic per-client subscription is the client’s only subscription.
Core 0.26.4 Release Notes
Source: GitHub.com
October 5, 2016 — Sensu Core version 0.26.4 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed in progress check extension execution tracking, the Sensu client now guards against multiple concurrent executions of the same check extension.
Core 0.26.3 Release Notes
Source: GitHub.com
September 23, 2016 — Sensu Core version 0.26.3 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed a condition where /silenced API would fail to retrieve
entries for subscriptions containing a mix of colons and hyphens,
e.g.
client:foo-bar-baz
.
Core 0.26.2 Release Notes
Source: GitHub.com
September 21, 2016 — Sensu Core version 0.26.2 has been released and is available for immediate download. Please note the following improvements:
CHANGES
BUGFIX: Fixed a condition where events could not be successfully deleted when they originate from a client configured with a signature
BUGFIX: Fixed a condition where check results with an invalid signature would never complete processing. This often resulted in Sensu Server failing to shut down cleanly.
BUGFIX: Fixed a condition where /silenced API would fail to retrieve entries for subscriptions containing colons, e.g.
client:foo
.BUGFIX: Made a change to ensure that new proxy clients are created with a per-client subscription just like regular clients.
Core 0.26.1 Release Notes
Source: GitHub.com
September 7, 2016 — Sensu Core version 0.26.1 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed a condition where Sensu Server would fail to start
without a
client
configuration definition.
Core 0.26.0 Release Notes
Source: GitHub.com
August 24, 2016 — Sensu Core version 0.26.0 has been released and is available for immediate download. Please note the following improvements:
IMPORTANT
This release includes potentially breaking, backwards-incompatible changes:
Event silencing is now built into Sensu Core, and a new
/silenced
API is now available. A new"handle_silenced": true
attribute is available to opt-out of this new built-in silencing functionality on a per-handler basis.NEW: Every Sensu client now creates and subscribes to a unique client subscription (e.g.
client:i-424242
). Unique client subscriptions are required for silencing one or more checks on a single client (host) Fixes: #1327.Sensu Core version 0.26 requires Uchiwa version 0.18 or newer in order to make use of the new
/silenced
API feature. Prior versions of Uchiwa silence events using the “silence stashes” pattern, which will be honored by existing handlers until the now-deprecated event filtering is removed from a future version of sensu-plugin.
NOTE: The new /silenced
API and native event silencing features are
intended to replace the “silence stash” pattern implemented in the
sensu-plugin
library and widely used by existing handlers. This
“silence stashes” pattern is considered deprecated. Sensu 0.26 includes
version 1.4.2 of the sensu-plugin
library which continues to
apply this pattern by default, but will log deprecation warnings as
well. Set the check attribute enable_deprecated_filtering: false
to
disable the deprecated filtering behavior. Please refer to the
Deprecating Event Filtering in sensu-plugin blog post for more
information.
The handler definition
subdue
attribute is no longer supported. Time-based filtering is now supported by the new filterwhen
attribute. Please update your handler definitions accordingly.Check
subdue
definitions no longer support the"at": "handler"
configuration setting.
CHANGES
- NEW: Event silencing is now built into Sensu Core! The Sensu API now
provides a set of
/silenced
endpoints, for silencing one or more checks and/or subscriptions (including the NEW client-specific subscriptions, above). Silencing applies to all event handlers by default, however a newhandle_silenced
handler definition attribute can be used to disable this functionality. Metric check events (OK) bypass event silencing.
NOTE: this improvement is very closely related to the impending removal
of event filtering in the sensu-plugin
gem. See the recent Deprecating
Event Filtering in sensu-plugin blog post for more information.
- NEW: Introducing Subdue 2.0! Sensu
subdue
rules have a brand new configuration syntax, adding support for a broader number of applications, andsubdue
definitions are now supported by standalone checks.
By way of comparison, the legacy subdue
definition specification was
limited to a single time window rule, with an array of exceptions. This was
not only confusing, it made it very difficult to apply a simple “don’t execute
this check outside of 9-5, M-F” rule.
{
"checks": {
"example_check": {
"command": "check_something.rb",
"...": "...",
"subdue": {
"begin": "12:00:00 AM",
"end": "11:59:00 PM",
"days": ["monday", "tuesday", "wednesday", "thursday", "friday"],
"exceptions": [
{
"begin": "9:00:00 AM",
"end": "5:00:00 PM"
}
]
}
}
}
}
The new syntax is more verbose, but by doing away with the need for
exceptions
and adding support for defining an array of subdue time windows,
it is much easier to configure.
{
"checks": {
"example_check": {
"command": "check_something.rb",
"...": "...",
"subdue": {
"days": {
"monday": [
{
"begin": "12:00:00 AM PST",
"end": "9:00:00 AM PST"
},
{
"begin": "5:00:00 PM PST",
"end": "11:59:59 PM PST"
}
],
"tuesday": [
{
"begin": "12:00:00 AM PST",
"end": "9:00:00 AM PST"
},
{
"begin": "5:00:00 PM PST",
"end": "11:59:59 PM PST"
}
],
"wednesday": [
{
"begin": "12:00:00 AM PST",
"end": "9:00:00 AM PST"
},
{
"begin": "5:00:00 PM PST",
"end": "11:59:59 PM PST"
}
],
"thursday": [
{
"begin": "12:00:00 AM PST",
"end": "9:00:00 AM PST"
},
{
"begin": "5:00:00 PM PST",
"end": "11:59:59 PM PST"
}
],
"friday": [
{
"begin": "12:00:00 AM PST",
"end": "9:00:00 AM PST"
},
{
"begin": "5:00:00 PM PST",
"end": "11:59:59 PM PST"
}
],
"saturday": [
{
"begin": "12:00:00 AM PST",
"end": "11:59:59 PM PST"
}
],
"sunday": [
{
"begin": "12:00:00 AM PST",
"end": "11:59:59 PM PST"
}
]
}
}
}
}
}
NOTE: Subdue rules now apply to check publishing, ONLY (i.e. subdue
definitions no longer support the "at": "handler"
definition attribute,
among other changes). Prior to this release, subdue
rules could be provided
via check definition subdue
attribute (i.e. "at": "publisher"
) or the
handler definition subdue
attribute (i.e. "at": "handler"
).
Time-based filtering for handlers is now provided by Sensu filters (see
below). Please refer to the new subdue
reference documentation for more
information. See: #1415.
NEW: Event filters now support time-based rules, via a new
"when": {}
filter definition attribute. The filterwhen
specification uses the same syntax as the new Subdue 2.0 specification, simplifying time-based event filtering. Please refer to the filerwhen
reference documentation for more information. See #1415.NEW: Sensu Extensions can now be loaded from Rubygems and enabled/disabled via configuration! The
sensu-install
has also added support for installing Sensu Extensions (e.g.sensu-install -e system-profile
). Extensions gems must be enabled via configuration, please refer to the Sensu extension reference documentation for more information. See: #1394.NEW: A check can now be a member of more than one named aggregate, via a new check definition
"aggregates": []
attribute. See: #1379; fixes #1342.NEW: Added support for setting Redis Sentinel configuration via a new
REDIS_SENTINEL_URLS
environment variable. Please refer to the Sensu environment variables reference documentation for more information. **See #1411; fixes #1361.NEW: Added support for automatically discovering and setting client
name
andaddress
attributes (two of the few required attributes for a valid Sensu client definition). See: #1379; fixes #1362.IMPROVEMENT: Added support for a new
occurrences_watermark
attribute, which is used by the built-in sensu-occurrences-extension filter to prevent sending resolve notifications for events that were not handled due to occurrence filtering. See: #1419 and #1427.IMPROVEMENT: Only attempt to schedule standalone checks that have an interval. See: #1384; fixes #1286.
IMPROVEMENT: Locally configured standalone checks (e.g. on a Sensu server) are no longer accessible via the Sensu API
/checks
endpoint. See: #1417; fixes #1416.IMPROVEMENT: Check TTL events are no longer created if the associated Sensu client has a current keepalive event. See #1428; fixes #861 and #1282.
IMPROVEMENT: Increased the maximum number of EventMachine timers from 100k to 200k, to accommodate very large Sensu installations that execute over 100k checks. See #1370; fixes #1368.
BUGFIX: Fixed a Sensu API
/results
endpoint race condition that caused incomplete response content. See #1372; fixes [#1356][-i1356].
Core 0.25.7 Release Notes
Source: GitHub.com
August 9, 2016 — Sensu Core version 0.25.7 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed the Sensu API 204 status response string, changing “No Response” to the correct string “No Content”. Fixes: #1405.
Core 0.25.6 Release Notes
Source: GitHub.com
July 28, 2016 — Sensu Core version 0.25.6 has been released and is available for immediate download. Please note the following improvements:
CHANGES
BUGFIX: Check results for unmatched tokens now include an executed timestamp.
BUGFIX: API aggregates max_age now guards against check results with a nil executed timestamp.
Core 0.25.5 Release Notes
Source: GitHub.com
July 12, 2016 — Sensu Core version 0.25.5 has been released and is available for immediate download. Please note the following improvements:
CHANGES
BUGFIX: Reverted a Sensu API race condition fix, it was a red herring. Desired behavior has been restored. See: #1358.
BUGFIX:: Custom check definition attributes are now included in check request payloads, fixing check attribute token substitution for pubsub checks. Fixes: #1360.
BUGFIX: Transport connectivity issues are now handled while querying the Transport for pipe stats for API /info and /health. See: #1367.
Core 0.25.4 Release Notes
Source: GitHub.com
June 20, 2016 — Sensu Core version 0.25.4 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed a race condition in the Sensu API where the
@redis
and@transport
objects were not initialized before serving API requests.
Core 0.25.3 Release Notes
Source: GitHub.com
June 17, 2016 — Sensu Core version 0.25.3 has been released and is available for immediate download. Please note the following improvements:
CHANGES
- BUGFIX: Fixed a condition where API process was unable to set CORS HTTP
headers when the API had not been configured (i.e. no
"api": {}
definition in configuration).
Core 0.25.2 Release Notes
Source: GitHub.com
June 16, 2016 — Sensu Core version 0.25.2 has been released and is available for immediate download. Please note the following improvements:
CHANGES
BUGFIX: The Sensu API now responds to HEAD requests for API GET routes.
BUGFIX: The Sensu API now responds to unsupported HTTP request methods with a 404 (Not Found), i.e. PUT.
Core 0.25.1 Release Notes
Source: GitHub.com
June 14, 2016 — Sensu Core version 0.25.1 has been released and is available for immediate download. Please note the following improvements:
CHANGES
IMPROVEMENT: the Sensu Core package now includes version 1.2 and 1.3 of the Sensu Plugin gem. Fixes #1339.
BUGFIX: The Sensu API now sets the HTTP response header “Connection” to “close”. Uchiwa was experiencing intermittent EOF errors. Fixes #1340.
Core 0.25.0 Release Notes
Source: GitHub.com
June 13, 2016 — Sensu Core version 0.25.0 has been released and is available for immediate download. Please note the following improvements:
IMPORTANT
This release includes potentially breaking, backwards-incompatible changes:
- The legacy/deprecated Sensu API singular resources (e.g.
/check/:check_name
instead of/checks/:check_name
), have been removed. Singular resources were never documented and have not been used by most community tooling (e.g. Uchiwa) since the very early Sensu releases (circa 2011-2012).
CHANGES
- NEW: Built-in client de-registration. Sensu client de-registration on
graceful
sensu-client
process stop is now supported by the Sensu client itself (no longer depending on the package init script). The package init script-based de-registration functionality still remains, but is considered to be deprecated at this time and will be removed in a future release.
Please note the following example client definition which enables built-in
client de-registration (via the new client deregister
definition attribute),
and sets the deregistration event handler to deregister_client
(via the new
client deregistration
definition attribute):
{
"client": {
"name": "i-424242",
"address": "8.8.8.8",
"subscriptions": [
"production",
"webserver",
"mysql"
],
"deregister": true,
"deregistration": {
"handler": "deregister_client"
},
"socket": {
"bind": "127.0.0.1",
"port": 3030
}
}
}
Please refer to the Sensu client reference documentation for additional information on configuring the built-in Sensu client de-registration. Fixes #1191, #1305.
NEW: The Sensu API has been rewritten to use EM HTTP Server, removing Rack and Thin as API runtime dependencies. The API no longer uses Rack async, making for cleaner HTTP request logic and much improved HTTP request and response logging. Fixes #1317.
BUGFIX: Fixed a critical bug in Sensu client
execute_check_command()
where a check result would contain a check command with client tokens substituted, potentially exposing sensitive/redacted client attribute values.
Core 0.24.1 Release Notes
Source: GitHub.com
June 7, 2016 — Sensu Core version 0.24.1 has been released and is available for immediate download. Please note the following improvements:
BUGFIX: Fixed a critical bug in Sensu server
resume()
which caused the server to crash when querying the state of the Sensu Transport connection before it had been initialized. Resolves #1321.IMPROVEMENT: Updated references to unmatched tokens, i.e. check result output message, to better represent the new scope of token substitution. Resolves #1322.
Core 0.24.0 Release Notes
Source: GitHub.com
June 6, 2016 — Sensu Core version 0.24.0 has been released and is available for immediate download. Please note the following improvements:
IMPORTANT
This release includes potentially breaking, backwards-incompatible changes:
Sensu check aggregates have been completely redesigned. Users who are using check aggregates may need to review these changes before upgrading. Uchiwa users should install version 0.15 or higher before upgrading to Sensu Core version 0.24.0. See below for additional information.
Sensu event
id
s are no longer unique to each occurrence of an event. Eventid
s are now persistent for the duration of an event (per client/check pair), until the event is resolved. See below for additional information.The Sensu /health (GET) API endpoint has been updated such that failed health checks now respond with an
412 (Precondition Failed)
HTTP response code instead of a503 (Service Unavailable)
response code. Third-party services and/or custom scripts may need to be updated accordingly.The Sensu services and corresponding service management scripts have been updated to use the new
--validate_config
command line option which uses strong configuration validation (i.e. do not start if configuration is in an invalid state). See below for additional information.
CHANGES
NEW: Named aggregates. Check aggregates 2.0 are here! At long last, Sensu check aggregates have been updated to support standalone checks, as well as a number of new use cases. Please refer to the check aggregates reference documentation for additional information. Resolves #803, #915, #1041, #1070, #1187, and #1218.
NEW: Persistent event IDs. Event occurrences for a client/check pair will now have the same event ID until the event is resolved (instead of a unique event ID for each occurrence of an event). Please refer to the Event specification reference documentation for additional information. Resolves #1196.
NEW: Strong configuration validation. Added a new
--validate_config
CLI option/argument to cause Sensu to validate configuration settings and exit with the appropriate exit code (e.g.2
for invalid). This feature is now used when restarting a Sensu service to first validate the new configuration before stopping the running service (i.e. to prevent restarts if the configuration is invalid). Please refer to the Sensu service command line interface reference documentation for additional information. Resolves #1244, #1254.NEW: Proxy check origins. Events for proxy clients will now have a check
origin
attribute, set to the client name of the result producer. Please refer to the Event data specification reference documentation for additional information. Resolves #1075.NEW: Improved Sensu check token substitution. Sensu check token substitution is now supported in every check definition attribute value (no longer just the check
command
attribute). Please refer to the check token substitution reference documentation for additional information. Resolves #1281.NEW: Sensu
/clients (POST)
API endpoint can now create clients in the client registry that are expected to produce keepalives, and validates clients with the Sensu Settings client definition validator. A new checkkeepalives
attribute called has also been added, which allows client keepalives to be disabled on a per-client basis. Resolves #1203.IMPROVEMENT: Configurable Sensu Spawn concurrent child process limit (checks, mutators, & pipe handlers). The default limit is still 12 and the EventMachine threadpool size is automatically adjusted to accommodate a larger limit. Resolves #1002.
IMPROVEMENT: Event data check type now explicitly defaults to
standard
. Resolves #1025.IMPROVEMENT: Improved tracking of in progress check result processing, eliminates the potential for losing check results when restarting the Sensu server service. Resolves #1165.
IMPROVEMENT: Updated Thin (used by Sensu API) to the latest release, version 1.6.4. Resolves #1122.
IMPROVEMENT: JrJackson is now used to parse JSON when Sensu is running on JRuby.
IMPROVEMENT: The Sensu API now listens immediately on service start, even before it has successfully connected to Redis and the Sensu Transport. It will now respond with a
500 (Internal Server Error)
HTTP response code and a descriptive error message when it has not yet initialized its connections or it is reconnecting to either Redis or the Sensu Transport. The Health and Info API endpoints will still respond normally while reconnecting. Resolves #1215.
Core 0.23.3 Release Notes
Source: GitHub.com
May 26, 2016 — Sensu Core version 0.23.3 has been released and is available for immediate download. Please note the following improvements:
IMPROVEMENT: Fixed child process write/read deadlocks when writing to STDIN or reading from STDOUT/STDERR, when the data size exceeds the pipe buffers.
IMPROVEMENT: Fixed child process spawn timeout deadlock, now using stdlib Timeout.
Core 0.23.2 Release Notes
Source: GitHub.com
April 25, 2016 — Sensu Core version 0.23.2 has been released and is available for immediate download. Please note the following improvements:
- IMPROVEMENT: fixed client socket check result publishing when the client has a signature. The client signature is now added to the check result payload, making it valid (see: #1182).
Core 0.23.1 Release Notes
Source: GitHub.com
April 15, 2016 — Sensu Core version 0.23.1 has been released and is available for immediate download. Please note the following improvements:
- NEW: a pure-Ruby EventMachine reactor is used when running on Solaris.
Core 0.23.0 Release Notes
Source: GitHub.com
April 4, 2016 — Sensu Core version 0.23.0 has been released and is available for immediate download. Please note the following improvements:
NEW: dropped support for Rubies < 2.0.0, as they have long been EOL and have proven to be a hindrance and security risk.
NEW: the Sensu 0.23 packages use Ruby 2.3.
NEW: native support for Redis Sentinel. Sensu services can now be configured to query one or more instances of Redis Sentinel for a Redis master. This feature eliminates the last need for load balancing middleware (e.g. HAProxy) in highly available Sensu configurations. To configure Sensu services to use Redis Sentinel, hosts and ports of one or more Sentinel instances must be provided.
Example Redis Sentinel configuration:
{
"sentinels": [
{
"host": "10.0.1.23",
"port": 26479
}
]
}
See the Redis configuration documentation for more information.
- NEW: Added a CLI option/argument to cause the Sensu service to print
(output to STDOUT) its compiled configuration settings and exit. The CLI
option is
--print_config
or-P
.
See the Sensu CLI arguments documentation for more information.
- NEW: Added token substitution to filter eval attributes, providing access to event data.
Example filter eval token:
{
"filters": {
"example_filter": {
"attributes": {
"occurrences": "eval: value > :::check.occurrences:::"
}
}
}
}
NEW: native installer packages are now available for IBM AIX systems (sensu-client only).
NEW: The pure Ruby EventMachine reactor is used when running on AIX.
IMPROVEMENT: The Sensu Transport API has changed. Transports are now a deferrable, they must call
succeed()
once they have fully initialized. Sensu now waits for its transport to fully initialize before taking other actions.IMPROVEMENT: performance improvements. Dropped MultiJson in favour of Sensu JSON, a lighter weight JSON parser abstraction that supports platform specific parsers for Sensu Core and Enterprise. The Oj JSON parser is once again used for Sensu Core. Used fast-ruby and benchmarks as a guide to further changes.
IMPROVEMENT: Using EventMachine 1.2.0, which brings several changes and improvements (changelog).
0.22.2 Release Notes
Source: GitHub.com
March 16, 2016 — Sensu Core version 0.22.2 has been released and is available for immediate download. Please note the following improvements:
BUGFIX: FFI library loading no longer causes a load error on AIX & Solaris.
Removed unused cruft from extension API
run()
andsafe_run()
. Optionaloptions={}
was never implemented in Sensu Core and event datadup()
never provided the necessary protection that it claimed (only top level hash object).
0.22.1 Release Notes
Source: GitHub.com
March 01, 2016 — Sensu Core version 0.22.1 has been released and is available for immediate download. Please note the following improvements:
Performance improvements. Using frozen constants for common values and comparisons. Reduced the use of block arguments for callbacks.
Improved RabbitMQ transport channel error handling.
Fixed client signatures inspection/comparison when upgrading from a previous release.
0.22.0 Release Notes
Source: GitHub.com
January 29, 2016 — Sensu Core version 0.22.0 has been released and is available for immediate download. Please note the following improvements:
NEW: Client registration events are optionally created and processed (handled, etc.) when a client is first added to the client registry. To enable this functionality, configure a
"registration"
handler definition on Sensu server(s), or define a client specific registration handler in the client definition, e.g.{"client": "registration": {"handler": "debug"}}
.NEW: Client auto de-registration on sensu-client process stop is now supported by the Sensu package init script. Setting
CLIENT_DEREGISTER_ON_STOP=true
andCLIENT_DEREGISTER_HANDLER=example
in/etc/default/sensu
will cause the Sensu client to publish a check result to trigger the event handler named"example"
, before its process stops.NEW: Added support for Sensu client signatures, used to sign client keepalive and check result transport messages, for the purposes of source (publisher) verification. The client definition attribute
"signature"
is used to set the client signature, e.g."signature": "6zvyb8lm7fxcs7yw"
. A client signature can only be set once, the client must be deleted from the registry before its signature can be changed or removed. Client keepalives and check results that are not signed with the correct signature are logged (warn) and discarded. This feature is NOT a replacement for existing and proven security measures.NEW: The Sensu plugin installation tool,
sensu-install
, will no longer install a plugin if a or specified version has already been installed.NEW: The Sensu client socket now supports UTF-8 encoding.