Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.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, если вы не укажете другой формат.

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

Имя Описание

content_type

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

inline

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

request

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

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

Имя Описание

format

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

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

Имя Описание

url

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

inline

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

retries

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

interval

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

request.auth

Дополнительная конфигурация авторизации для запроса

request.proxy

Дополнительная конфигурация прокси для запроса

Прикрепление отчетов к электронной почте

Вы можете использовать тип вложения 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:
        smtp:
            auth: true
            starttls.enable: true
            starttls.required: true
            host: email-smtp.us-east-1.amazonaws.com 
            port: 587
            user: <username>

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/7.17/actions-email.html

Spec-Zone.ru

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