Troubleshooting Watcher
Troubleshooting Watcher
Dynamic mapping error when trying to add a watch
If you get the Dynamic Mapping is Disabled error when you try to add a watch, verify that the index mappings for the .watches
index are available. You can do that by submitting the following request:
resp = client.indices.get_mapping(
index=".watches",
)
print(resp)
response = client.indices.get_mapping(
index: '.watches'
)
puts response
const response = await client.indices.getMapping({
index: ".watches",
});
console.log(response);
GET .watches/_mapping
If the index mappings are missing, follow these steps to restore the correct mappings:
- Stop the Elasticsearch node.
- Add
xpack.watcher.index.rest.direct_access : true
toelasticsearch.yml
. - Restart the Elasticsearch node.
Delete the
.watches
index:resp = client.indices.delete(
index=".watches",
)
print(resp)
response = client.indices.delete(
index: '.watches'
)
puts response
const response = await client.indices.delete({
index: ".watches",
});
console.log(response);
DELETE .watches
Disable direct access to the
.watches
index:- Stop the Elasticsearch node.
- Remove
xpack.watcher.index.rest.direct_access : true
fromelasticsearch.yml
. - Restart the Elasticsearch node.
Unable to send email
If you get an authentication error indicating that you need to continue the sign-in process from a web browser when Watcher attempts to send email, you need to configure Gmail to Allow Less Secure Apps to access your account.
If you have two-step verification enabled for your email account, you must generate and use an App Specific password to send email from Watcher. For more information, see:
- Gmail: Sign in using App Passwords
- Outlook.com: App passwords and two-step verification
Watcher not responsive
Keep in mind that there’s no built-in validation of scripts that you add to a watch. Buggy or deliberately malicious scripts can negatively impact Watcher performance. For example, if you add multiple watches with buggy script conditions in a short period of time, Watcher might be temporarily unable to process watches until the bad watches time out.