Уведомления

Плагин "Уведомления" предоставляет централизованное хранилище для всех уведомлений из плагинов Подсистемы. С помощью этого плагина можно настроить, какую службу коммуникации требуется использовать, и просматривать соответствующую статистику и информацию об устранении неполадок. Плагины "Оповещения" и "ISM" интегрированы с плагином "Уведомления".

Для настройки уведомлений можно использовать либо "Панели мониторинга", либо REST API. "Панели мониторинга" предлагают более организованный способ выбора типа канала и источников плагинов Подсистемы, в то время как REST API позволяет программно определять каналы уведомлений для более удобной работы с версиями и повторного использования в дальнейшем.

С помощью пользовательского интерфейса "Панели мониторинга" сначала создают канал, который будет получать уведомления от других плагинов. Поддерживаемые каналы связи включают Amazon Chime, Amazon Simple Notification Service (Amazon SNS), электронную почту через SMTP, Slack, Microsoft Teams и пользовательские вебхуки. После настройки канала и источников плагинов отправляют сообщения и начинают отслеживать уведомления на панели управления плагина "Уведомления".

REST API уведомлений используют, чтобы настроить все параметры канала. Чтобы использовать API, нужно знать название и описание его уведомления, тип канала, плагины Подсистемы, которые будут использоваться в качестве источников, а также другие связанные URL-адреса или группы.

Создание канала

Для создания канала требуется:

  1. в "Панели мониторинга" выбрать "Уведомления Каналы" и нажать кнопку Создать канал;
  2. в секции "Имя и описание" указать название и необязательное описание канала;
  3. в секции "Конфигурации" выбрать тип канала и ввести необходимую информацию для каждого типа;

Если требуется использовать Amazon Chime или Slack, нужно указать URL-адрес вебхука.

Если требуется использовать пользовательские вебхуки, необходимо указать дополнительную информацию: параметры и заголовки. Например, если endpoint требует базовой аутентификации, может потребоваться добавить заголовок с ключом авторизации и значением Basic <Base64-encoded-credential-string>. Также может потребоваться изменить Content-Type на то, что требуется вебхуку. Распространенные значения: application/json, application/xml и text/plain. Эта информация хранится в открытом виде в кластере Подсистемы.

  1. нажать кнопку Создать.

Электронная почта как тип канала

Чтобы отправлять или получать уведомления по электронной почте, нужно выбрать "Email" в качестве типа канала. Затем выбрать хотя бы одного отправителя и получателя по умолчанию. Чтобы отправлять уведомления нескольким людям одновременно, требуется указать несколько адресов электронной почты или выбрать группу получателей. Если в плагине "Уведомления" нет необходимых отправителей или групп, можно добавить их, сначала выбрав "SMTP-отправитель", а затем "Создать SMTP-отправителя" или "Создать группу получателей".

Чтобы создать отправителя электронной почты в окне "Создать SMTP-отправителя" выполняют следующие действия:

  1. указать уникальное имя, которое будет ассоциироваться с отправителем;
  2. ввести адрес электронной почты и, если применимо, его хост (например, smtp.gmail.com) и порт;
  3. выбрать метод шифрования. Большинство провайдеров электронной почты используют протокол SSL/TLS, для которых требуется имя пользователя и пароль в хранилище ключей Подсистемы. Выбор метода шифрования применим только в том случае, если создается SMTP-отправитель;
  4. нажать Создать, чтобы сохранить конфигурацию и создать отправителя. Можно создать отправителя до добавления пользовательских учетных данных в хранилище ключей Подсистемы, однако перед использованием отправителя в конфигурации канала необходимо проверить подлинность каждой учетной записи отправителя, нажав кнопку Отправить тестовое сообщение.

Для создания группы получателей электронной почты следует:

  1. нажать кнопку Создать группу получателей и в открывшемся окне ввести уникальное имя для группы электронной почты и необязательное описание;
  2. выбрать или ввести адреса электронной почты, которые требуется добавить в группу получателей;
  3. нажать Создать.

Если провайдер электронной почты требует использования SSL или TLS, перед отправкой электронного письма необходимо выполнить аутентификацию каждой учетной записи отправителя, для чего нужно ввести данные учетной записи отправителя в хранилище ключей Подсистемы с помощью CLI. Для этого необходимо выполнить следующие команды (в директории Подсистемы), чтобы ввести имя пользователя и пароль, где <sender_name> — это имя, которое введено для отправителя ранее:

/usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.<sender_name>.username
/usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.<sender_name>.password

Чтобы изменить или обновить учетные данные (после того, как добавили их в хранилище ключей на каждом узле), вызывают API перезагрузки, чтобы автоматически обновить эти учетные данные без перезапуска Подсистемы:

POST _nodes/reload_secure_settings
{
"secure_settings_password": "1234"
}