Действие Watcher по электронной почте
Используйте действие email для отправки уведомлений по электронной почте. Для отправки электронной почты необходимо настроить как минимум одну учетную запись электронной почты в elasticsearch.yml.
Уведомления по электронной почте могут быть простым текстом или оформлены с помощью HTML. Вы можете включать информацию из полезной нагрузки выполнения наблюдения, используя шаблоны, и прикреплять всю полезную нагрузку наблюдения к сообщению.
См. Атрибуты действия электронной почты для поддерживаемых атрибутов. Любые атрибуты, отсутствующие в определении действия электронной почты, ищутся в конфигурации учетной записи электронной почты. Необходимые атрибуты должны быть либо установлены в определении действия электронной почты, либо в email_defaults учетной записи.
Настройка действий электронной почты
Вы настраиваете действия электронной почты в массиве actions. Атрибуты, относящиеся к действию, указываются с помощью ключевого слова email.
Например, следующее действие электронной почты использует шаблон для включения данных из полезной нагрузки наблюдения в текст электронного письма:
"actions" : {
"send_email" : {
"email" : {
"to" : "username@example.org",
"subject" : "Watcher Notification",
"body" : "{{ctx.payload.hits.total}} error logs found"
}
}
} | Идентификатор действия. | |
| Тип действия установлен в | |
| Один или несколько адресов для отправки электронного письма. Должен быть указан в определении действия или в конфигурации учетной записи электронной почты. | |
| Тема электронного письма может содержать статический текст и шаблоны Mustache шаблоны. | |
| Тело электронного письма может содержать статический текст и шаблоны Mustache шаблоны. Должен быть указан в определении действия или в конфигурации учетной записи электронной почты. |
Настройка вложений электронной почты
Вы можете прикрепить полезную нагрузку контекста выполнения или данные из любой службы HTTP к уведомлению по электронной почте. Нет ограничений на количество вложений, которые вы можете настроить.
Чтобы настроить вложения, укажите имя прикрепленного файла и тип вложения: data, http или reporting. Тип вложения data прикрепляет полезную нагрузку контекста выполнения к сообщению электронной почты. Тип вложения http позволяет отправлять запрос HTTP и прикреплять ответ к сообщению электронной почты. При настройке типа вложения http необходимо указать URL-адрес запроса. Тип вложения reporting — это специальный тип для включения отрендеренных панелей мониторинга PDF из Kibana. Этот тип постоянно опрашивает приложение Kibana, если рендеринг панели мониторинга завершен, предотвращая длительные соединения HTTP, которые могут быть прерваны брандмауэрами или балансировщиками нагрузки.
"actions" : {
"email_admin" : {
"email": {
"to": "John Doe <john.doe@example.com>",
"attachments" : {
"my_image.png" : {
"http" : {
"content_type" : "image/png",
"request" : {
"url": "http://example.org/foo/my-image.png"
}
}
},
"dashboard.pdf" : {
"reporting" : {
"url": "http://example.org:5601/api/reporting/generate/dashboard/Error-Monitoring"
}
},
"data.yml" : {
"data" : {
"format" : "yaml"
}
}
}
}
}
} | Идентификатор вложения, который используется в качестве имени файла во вложении электронной почты. | |
| Тип вложения и его конкретная конфигурация. | |
| URL-адрес, по которому нужно получить вложение. | |
| Вложения данных по умолчанию используют JSON, если вы не указали формат. |
Таблица 85. Атрибуты типа вложения http
| Имя | Описание |
|---|---|
| Устанавливает тип содержимого для вложения электронной почты. По умолчанию тип содержимого извлекается из ответа, отправленного службой HTTP. Вы можете явно указать тип содержимого, чтобы убедиться, что тип установлен правильно в электронном письме, если ответ не указывает тип содержимого или он указан неправильно. Необязательно. |
| Настраивается как вложение, отправляемое с распоряжением |
| Содержит атрибуты HTTP-запроса. Как минимум, вы должны указать атрибут |
Таблица 86. Атрибуты типа вложения data
| Имя | Описание |
|---|---|
| Прикрепляет данные наблюдения, что эквивалентно указанию |
Таблица 87. Атрибуты типа вложения reporting
| Имя | Описание |
|---|---|
| URL-адрес для запуска создания панели мониторинга |
| Настраивается как вложение, отправляемое с распоряжением |
| Тип вложения отчета пытается регулярно опрашивать для получения созданного PDF-файла. Это настраивает количество попыток. По умолчанию — |
| Время ожидания между двумя попытками опроса. По умолчанию — |
| Дополнительная конфигурация авторизации для запроса, см. использовать Watcher для получения подробной информации |
| Дополнительная конфигурация прокси для запроса. См. Атрибуты HTTP-ввода о том, как настроить значения. |
Прикрепление отчетов к электронному письму
Вы можете использовать тип вложения reporting в действии email для автоматической генерации отчета Kibana и его распространения по электронной почте.
Атрибуты действия электронной почты
| Имя | Обязательно | По умолчанию | Описание |
|---|---|---|---|
| нет | аккаунт по умолчанию | Аккаунт электронной почты, который следует использовать для отправки электронного письма. |
| нет | - | Адрес электронной почты, с которого будет отправлено письмо. Поле |
| да | - | Адреса электронной почты получателей. Поле |
| нет | - | Адреса электронной почты дополнительных получателей. Поле |
| нет | - | Адреса электронной почты дополнительных получателей. Поле |
| нет | - | Адреса электронной почты, которые будут установлены в заголовке сообщения. Поле |
| нет | - | Тема электронного письма. Тема может быть статическим текстом или содержать шаблон Mustache шаблонов. |
| нет | - | Тело электронного письма. Если это строка, она будет по умолчанию текстовым телом. Установите как объект, чтобы указать либо текстовое, либо HTML-тело, или оба (используя поля ниже). |
| нет | - | Текстовое тело электронного письма. Тело может быть статическим текстом или содержать шаблон Mustache шаблонов. |
| нет | - | HTML-тело электронного письма. Тело может быть статическим текстом или содержать шаблон Mustache шаблонов. Это тело будет очищено для удаления опасного контента, такого как скрипты. Это поведение можно отключить, установив |
| нет | - | Приоритет этого электронного письма. Допустимые значения: |
| нет | - | Прикрепляет данные наблюдения (вложение |
| нет | false | Указывает, следует ли прикреплять данные выполнения наблюдения к электронному письму. Можно указать булево значение или объект. Если |
| нет | yaml | Если |
- Адрес электронной почты
- Адрес электронной почты может содержать две части: сам адрес и необязательное имя, как описано в RFC 822. Адрес может быть представлен либо строкой вида
user@host.domain, либоPersonal Name <user@host.domain>. Вы также можете указать адрес электронной почты как объект, содержащий поляnameиaddress.
- Список адресов
- Список адресов может быть указан как массив:
[ 'Personal Name <user1@host.domain>', 'user2@host.domain' ].
Настройка учетных записей электронной почты
Watcher может отправлять электронные письма, используя любой SMTP-сервис электронной почты. Электронные письма могут содержать базовые HTML-теги. Вы можете контролировать, какие группы тегов разрешены, используя Настройка опций очистки HTML.
Вы настраиваете учетные записи, которые может использовать Watcher, в пространстве имен xpack.notification.email в elasticsearch.yml. Пароль для указанного SMTP-пользователя хранится безопасно в хранилище ключей Elasticsearch.
Если ваша учетная запись электронной почты настроена на двухэтапную проверку, вам необходимо сгенерировать и использовать уникальный пароль приложения, чтобы отправлять электронные письма из Watcher. Аутентификация завершится ошибкой, если вы используете свой основной пароль.
Watcher предоставляет три профиля электронной почты, которые контролируют структуру MIME-сообщений: standard (по умолчанию), gmail и outlook. Эти профили учитывают различия в том, как различные почтовые системы интерпретируют стандарт MIME. Если вы используете Gmail или Outlook, рекомендуется использовать соответствующий профиль. Используйте профиль standard, если вы используете другую почтовую систему.
Дополнительную информацию о настройке Watcher для работы с различными почтовыми системами см.:
Если вы настраиваете несколько учетных записей электронной почты, вы должны либо настроить учетную запись по умолчанию, либо указать, с какой учетной записью должно быть отправлено электронное письмо, в действии email.
xpack.notification.email:
default_account: team1
account:
team1:
...
team2:
... Отправка электронных писем из Gmail
Используйте следующие настройки учетной записи электронной почты для отправки электронных писем с помощью SMTP-сервиса Gmail:
xpack.notification.email.account:
gmail_account:
profile: gmail
smtp:
auth: true
starttls.enable: true
host: smtp.gmail.com
port: 587
user: <username> Для хранения пароля SMTP учетной записи используйте команду keystore (см. безопасные настройки)
bin/elasticsearch-keystore add xpack.notification.email.account.gmail_account.smtp.secure_password
Если при попытке Watcher отправить электронное письмо возникает ошибка аутентификации, указывающая на необходимость продолжения процесса входа с веб-браузера, вам необходимо настроить Gmail на разрешение менее безопасным приложениям доступ к вашей учетной записи.
Если для вашей учетной записи включена двухэтапная проверка, вы должны сгенерировать и использовать уникальный пароль приложения для отправки электронных писем из Watcher. Для получения дополнительной информации см. Вход с помощью паролей приложений.
Отправка электронных писем из Outlook.com
Используйте следующие настройки учетной записи электронной почты для отправки электронного письма с помощью SMTP-сервиса Outlook.com:
xpack.notification.email.account:
outlook_account:
profile: outlook
smtp:
auth: true
starttls.enable: true
host: smtp-mail.outlook.com
port: 587
user: <email.address> Для хранения пароля SMTP учетной записи используйте команду keystore (см. безопасные настройки)
bin/elasticsearch-keystore add xpack.notification.email.account.outlook_account.smtp.secure_password
При отправке писем необходимо указать адрес отправителя, либо по умолчанию в настройках учетной записи, либо как часть действия по электронной почте в мониторинге.
Если включена двухэтапная проверка, необходимо использовать уникальный пароль приложения. Для получения дополнительной информации см. Пароли приложений и двухэтапная проверка.
Отправка электронных писем из Amazon SES (Simple Email Service)
Используйте следующие настройки учетной записи электронной почты для отправки электронных писем с помощью SMTP-сервиса Amazon Simple Email Service (SES):
xpack.notification.email.account:
ses_account:
email_defaults:
from: <email address of service account>
smtp:
auth: true
starttls.enable: true
starttls.required: true
host: email-smtp.us-east-1.amazonaws.com
port: 587
user: <username> | В некоторых случаях | |
|
|
Для хранения пароля SMTP учетной записи используйте команду keystore (см. безопасные настройки)
bin/elasticsearch-keystore add xpack.notification.email.account.ses_account.smtp.secure_password
Для отправки писем через Amazon SES необходимо использовать ваши учетные данные SMTP Amazon SES. Для получения дополнительной информации см. Получение ваших учетных данных SMTP Amazon SES. Возможно, также потребуется проверить ваш адрес электронной почты или весь ваш домен в AWS.
Отправка электронных писем из Microsoft Exchange
Используйте следующие настройки учетной записи электронной почты для отправки электронного письма из Microsoft Exchange:
xpack.notification.email.account:
exchange_account:
profile: outlook
email_defaults:
from: <email address of service account>
smtp:
auth: true
starttls.enable: true
host: <your exchange server>
port: 587
user: <email address of service account> | Некоторые организации настраивают Exchange для проверки того, что поле | |
| Многие организации поддерживают использование вашего адреса электронной почты в качестве имени пользователя, хотя рекомендуется проверить это у системного администратора, если вы получаете ошибки, связанные с аутентификацией. |
Для хранения пароля SMTP учетной записи используйте команду keystore (см. безопасные настройки)
bin/elasticsearch-keystore add xpack.notification.email.account.exchange_account.smtp.secure_password
Настройка опций очистки HTML
Действие email поддерживает отправку сообщений с HTML-телом. Однако по соображениям безопасности Watcher очищает HTML.
Вы можете контролировать, какие функции HTML разрешены или запрещены, настроив параметры xpack.notification.email.html.sanitization.allow и xpack.notification.email.html.sanitization.disallow в elasticsearch.yml. Вы можете указать отдельные HTML-элементы и группы функций HTML. По умолчанию Watcher разрешает следующие функции: body, head, _tables, _links, _blocks, _formatting и img:embedded.
Например, следующие настройки позволяют HTML содержать таблицы и блочные элементы, но запрещают теги <h4>, <h5> и <h6>.
xpack.notification.email.html.sanitization:
allow: _tables, _blocks
disallow: h4, h5, h6 Чтобы полностью отключить очистку, добавьте следующую настройку в elasticsearch.yml:
xpack.notification.email.html.sanitization.enabled: false
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/actions-email.html