From version 5.0 onward, Watcher is part of X-Pack. For more information, see
Alerting on cluster and index events.
Release Notes
editRelease Notes
editVersion Compatibility
editWatcher 2.0.0 is compatible with:
- Elasticsearch: 2.0.0
- License 2.0.0
- Shield 2.0.0
Upgrading Watcher
editWatcher 2.0.0 is backward compatible with Watcher 1.0.x. Follow these steps to upgrade:
-
Back up all of the watches you’ve defined. You can search/scan the
.watches
index and save the returned watches aside. - Stop Elasticsearch on all nodes in your cluster.
-
Uninstall the Watcher plugin from each node:
bin/plugin remove watcher
- From here on you can simply follow the Getting Started guide.
Change List
edit2.0.2
editBug fixes
- Fixed an issue that prevented sending of emails
2.0.1
editEnhancement
- Adds support for Elasticsearch 2.0.1.
Bug fixes
- Fixed an issue where under specific conditions Watcher would not start if there are not finished watch executions from the previous time that watcher was running and those watch execution are unable the execute during the current start process.
2.0.0
editBreaking Changes
-
The dynamic index names support has been removed and Elasticsearch’s date math index names support should be used instead.
The only difference between Watcher’s dynamic index names support and Elasticsearch’s date math index names support is
how timezones are expressed. In Watcher this is done via node settings, in Elasticsearch the timezone is part of the
date math index names support. Only if you’re using dynamic index names with timezones in Watcher then you need to
upgrade your watches after the upgrade, otherwise your watches will work as they did before the upgrade. For example if
watcher.dynamic_indices.time_zone
setting was set to+01:00
and a watch has the following index name<logstash-{now/d}>
then after the upgrade you need to update this watch to use the following index name<logstash-{now/d{YYYY.MM.dd|+01:00}}>
.
New Features
- Added new HipChat Action
- Added new Slack Action
- Watches now have an active state. In addition, a new API was added to activate/deactivate registered watches.
- Added new array-compare, that can compare an array of values in the Watch Execution Context Model to a given value.
Enhancements
-
Watcher continuously checks if the index templates for
.watches
,.triggered_watches
and.watch_history-*
exist. Whereas before the existence of these index templates was only checked at Watcher startup time. The absence of these index templates leads to watcher data being indexed incorrectly, which then can cause Watcher to behave incorrectly. - If Watcher was stopped via the stop Watcher api and after that a master election took place then Watcher would then unexpectedly start.
-
During Watcher start up only wait for the shards of the
.watches
and.triggered_watches
indices to be available. Before Watcher also waited for the shards of the.watch_history-*
indices, which wasn’t needed. This improved time it takes for Watcher to startup. -
If
action.auto_create_index
setting has been configured then Watcher will check if the setting is too restrictive. If theaction.auto_create_index
is too restrictive then Watcher will fail during startup with a descriptive error message.
Bug Fixes
- If Watcher was installed with Shield then the Watcher index templates couldn’t be stored and could lead to Watcher behaving incorrectly. This was caused by Watcher not detecting correctly if Shield was installed.
-
Update
croneval
command line utility to properly handle whitespaces in the elasticsearch home path. - Fixed an issue where the scheduler may get stuck during Watcher startup. This caused no watches to ever fire.
- Fixed url encoding issue in http input and webhook output. The url params were url encoded twice.
1.0.0
editEnhancements
-
Added execution time aware dynamic index names support to
index
action,search
input, andsearch
transform. - You must now explicitly specify the unit when configuring any time value. (Numeric-only values are no longer supported.)
- Cleaned up the Get Watch API response.
- Cleaned up the Stats API response.
1.0.0-rc1
editNew Features
- Added inline watch support to the Execute API
Enhancements
- Added execution context variables support.
- Email html body sanitization is now configurable.
- It is now possible to configure timeouts for http requests in HTTP input and webhook actions.
1.0.0-Beta2
editNew Features
- Acking and Throttling are now applied at the action level rather than the watch level.
- Added support for multi-doc indexing to the index action.
- Added a queued watches metric that’s accessible via the Stats API.
- Added a currently-executing watches metric that’s accessible via the Stats API.
Enhancements
- The compare condition result now includes the value of each field that was referenced in the comparison.
- The Execute API now supports a default trigger event (breaking change)
-
The
watch_record
document structure in the.watch_history-*
indices has changed significantly (breaking change) -
A new internal index was introduced -
.triggered_watches
- Added support for headers in the Webhook Action result and the HTTP Input result.
- Add plain text response body support for the HTTP Input.
Bug Fixes
-
Disallow negative time value settings for
throttle_period
- Added support for separate keystore and truststore in Webhook Action and HTTP Input.