Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›Watcher ›Действия Watcher

Действие 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" 
    }
  }
}

Идентификатор действия.

Тип действия установлен в email.

Один или несколько адресов для отправки электронного письма. Должен быть указан в определении действия или в конфигурации учетной записи электронной почты.

Тема электронного письма может содержать статический текст и шаблоны 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

Имя Описание

content_type

Устанавливает тип содержимого для вложения электронной почты. По умолчанию тип содержимого извлекается из ответа, отправленного службой HTTP. Вы можете явно указать тип содержимого, чтобы убедиться, что тип установлен правильно в электронном письме, если ответ не указывает тип содержимого или он указан неправильно. Необязательно.

inline

Настраивается как вложение, отправляемое с распоряжением inline. Это позволяет использовать встроенные изображения в HTML-текстах, которые отображаются в некоторых почтовых клиентах. Необязательно. По умолчанию — false.

request

Содержит атрибуты HTTP-запроса. Как минимум, вы должны указать атрибут url для настройки узла и пути к конечной точке службы. См. Атрибуты действия Webhook для полного списка атрибутов HTTP-запроса. Обязательно.

Таблица 86. Атрибуты типа вложения data

Имя Описание

format

Прикрепляет данные наблюдения, что эквивалентно указанию attach_data в конфигурации наблюдения. Возможные значения: json или yaml. По умолчанию — json, если не указано.

Таблица 87. Атрибуты типа вложения reporting

Имя Описание

url

URL-адрес для запуска создания панели мониторинга

inline

Настраивается как вложение, отправляемое с распоряжением inline. Это позволяет использовать встроенные изображения в HTML-текстах, которые отображаются в некоторых почтовых клиентах. Необязательно. По умолчанию — false.

retries

Тип вложения отчета пытается регулярно опрашивать для получения созданного PDF-файла. Это настраивает количество попыток. По умолчанию — 40. Настройка xpack.notification.reporting.retries может быть настроена глобально для изменения значения по умолчанию.

interval

Время ожидания между двумя попытками опроса. По умолчанию — 15s (это означает, что по умолчанию Watcher пытается загрузить панель мониторинга в течение 10 минут, сорок раз по пятнадцать секунд). Настройка xpack.notification.reporting.interval может быть настроена глобально для изменения значения по умолчанию.

auth

Дополнительная конфигурация авторизации для запроса, см. использовать Watcher для получения подробной информации

proxy

Дополнительная конфигурация прокси для запроса. См. Атрибуты HTTP-ввода о том, как настроить значения.

Прикрепление отчетов к электронному письму

Вы можете использовать тип вложения reporting в действии email для автоматической генерации отчета Kibana и его распространения по электронной почте.

См. Автоматизация генерации отчетов.

Атрибуты действия электронной почты

Имя Обязательно По умолчанию Описание

account

нет

аккаунт по умолчанию

Аккаунт электронной почты, который следует использовать для отправки электронного письма.

from

нет

-

Адрес электронной почты, с которого будет отправлено письмо. Поле from может содержать шаблон Mustache шаблонов, при условии, что он разрешается в действительный адрес электронной почты.

to

да

-

Адреса электронной почты получателей. Поле to может содержать шаблон Mustache шаблонов, при условии, что он разрешается в действительный адрес электронной почты.

cc

нет

-

Адреса электронной почты дополнительных получателей. Поле cc может содержать шаблон Mustache шаблонов, при условии, что он разрешается в действительный адрес электронной почты.

bcc

нет

-

Адреса электронной почты дополнительных получателей. Поле bcc может содержать шаблон Mustache шаблонов, при условии, что он разрешается в действительный адрес электронной почты.

reply_to

нет

-

Адреса электронной почты, которые будут установлены в заголовке сообщения. Поле reply_to может содержать шаблон Mustache шаблонов, при условии, что он разрешается в действительный адрес электронной почты.

subject

нет

-

Тема электронного письма. Тема может быть статическим текстом или содержать шаблон Mustache шаблонов.

body

нет

-

Тело электронного письма. Если это строка, она будет по умолчанию текстовым телом. Установите как объект, чтобы указать либо текстовое, либо HTML-тело, или оба (используя поля ниже).

body.text

нет

-

Текстовое тело электронного письма. Тело может быть статическим текстом или содержать шаблон Mustache шаблонов.

body.html

нет

-

HTML-тело электронного письма. Тело может быть статическим текстом или содержать шаблон Mustache шаблонов. Это тело будет очищено для удаления опасного контента, такого как скрипты. Это поведение можно отключить, установив xpack.notification.email.html.sanitization.enabled: false в elasticsearch.yaml.

priority

нет

-

Приоритет этого электронного письма. Допустимые значения: lowest, low, normal, high и highest. Приоритет может содержать шаблон Mustache шаблонов, при условии, что он разрешается в одно из допустимых значений.

attachments

нет

-

Прикрепляет данные наблюдения (вложение data) или файл, полученный из HTTP-сервиса (вложение http) к электронному письму. Дополнительную информацию см. в статье о настройке вложений электронной почты.

attach_data

нет

false

Указывает, следует ли прикреплять данные выполнения наблюдения к электронному письму. Можно указать булево значение или объект. Если attach_data установлено в true, данные прикрепляются как YAML-файл. Этот атрибут устарел, используйте атрибут attachments для добавления вложения data для прикрепления данных наблюдения.

attach_data.format

нет

yaml

Если attach_data указано как объект, это поле определяет формат прикрепленных данных. Поддерживаемые форматы — json и yaml. Этот атрибут устарел, используйте атрибут attachments для добавления вложения data для прикрепления данных наблюдения.

Адрес электронной почты
Адрес электронной почты может содержать две части: сам адрес и необязательное имя, как описано в 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 для работы с различными почтовыми системами см.:

  • Отправка электронных писем из Gmail
  • Отправка электронных писем из Outlook.com
  • Отправка электронных писем из Microsoft Exchange
  • Отправка электронных писем из Amazon SES (Simple Email Service)

Если вы настраиваете несколько учетных записей электронной почты, вы должны либо настроить учетную запись по умолчанию, либо указать, с какой учетной записью должно быть отправлено электронное письмо, в действии 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>

В некоторых случаях email_defaults.from проверяется Amazon SES для подтверждения того, что это действительный локальный адрес электронной почты.

smtp.host зависит от региона.

Для хранения пароля 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 для проверки того, что поле from является действительным локальным адресом электронной почты.

Многие организации поддерживают использование вашего адреса электронной почты в качестве имени пользователя, хотя рекомендуется проверить это у системного администратора, если вы получаете ошибки, связанные с аутентификацией.

Для хранения пароля 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API