Schedule the Watch and Define an Input

A watch schedule controls how often a watch is triggered.
The watch input gets the data that you want to evaluate.

To periodically search log data and load the results into the
watch, you could use an interval schedule and a
search input. For example, the following Watch searches
the logs index for errors every 10 seconds:

Schedules are typically configured to run less frequently. This example sets
the interval to 10 seconds so you can easily see the watches being triggered.
Since this watch runs so frequently, don’t forget to delete the watch
when you’re done experimenting.

If you check the watch history you’ll see that the watch is being triggered every
10 seconds. However, the search isn’t returning any results so nothing is loaded
into the watch payload.

For example, the following request retrieves the last ten watch executions (watch
records) from the watch history:

Add a Condition

A condition evaluates the data you’ve loaded into the watch and
determines if any action is required. Now that you’ve loaded log errors into
the watch, you can define a condition that checks to see if any errors were
found.

For example, the following compare condition simply checks to see if the
search input returned any hits.

Once you add this event, the next time the watch executes its condition will
evaluate to true. The condition result is recorded as part of the
watch_record each time the watch executes, so you can verify whether or
not the condition was met by searching the watch history:

Configure an Action

Recording watch records in the watch history is nice, but the real power of
Watcher is being able to do something when the watch condition is met. A
watch’s actions define what to do when the watch condition
evaluates to true. You can send emails, call third-party webhooks, write
documents to an Elasticsearch index, or log messages to the standard
Elasticsearch log files.

For example, the following action writes a message to the Elasticsearch
log when an error is detected.

Delete the Watch

Since the log_error_watch is configured to run every 10 seconds, make sure you
delete it when you’re done experimenting. Otherwise, the noise from this sample
watch will make it hard to see what else is going on in your watch history and
log file.