Настройка уведомлений в Opensearch
В данной статье описывается процесс настройки уведомлений в OpenSearch, включая создание оповещений и проверку.
1. Предварительные условия
-
Вы ознакомились с архитектурой и концепциями Opensearch в Nova Container Platform.
-
У вас есть доступ к кластеру с учетной записью, имеющей роль
cluster-adminв Kubernetes. -
Вы установили утилиту
kubectlдля работы с Kubernetes. -
Вы установили модуль Opensearch.
2. Настройка почтовых уведомлений
-
Перейдите на вкладку и нажмите на кнопку Create SMTP sender.
-
Укажите имя, адрес электронной почты, адрес SMTP-сервера, порт и метод шифрования для почтового ящика, с которого будут отправляться уведомления.
-
Перейдите на вкладку и нажмите на кнопку Create recipient group.
-
Укажите имя группы и адреса электронной почты получателей уведомлений.
-
Перейдите на вкладку и нажмите на кнопку Create channel.
-
Укажите имя канала уведомлений, тип канала
Email, тип отправителяSMTP senderи выберите, от кого будут отправляться уведомления, а также кто будет их получать. -
Если SMTP-сервер требует авторизации, откройте веб-консоль Nova Container Platform, зайдите в pod
nova-logs-0, перейдите на вкладку Терминал и выберите контейнерopensearch.Также вы можете зайти в консоль контейнера через
kubectl(если он настроен), используя следующую команду:kubectl exec --stdin --tty nova-logs-0 -c opensearch -n nova-logs -- /bin/bash -
Для авторизации почтового адреса отправителя выполните две команды, заменив <имя созданного ранее Email sender>, почтовый адрес отправителя и пароль от почтового адреса отправителя.
/usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.<имя созданного ранее Email sender>.username <<< 'почтовый адрес отправителя' /usr/share/opensearch/bin/opensearch-keystore add opensearch.notifications.core.email.<имя созданного ранее Email sender>.password <<< 'пароль от почтового адреса отправителя' -
Для обновления учётных данных в Opensearch перейдите на вкладку и выполните команду:
POST _nodes/reload_secure_settings { "secure_settings_password": "" } -
Откройте созданный канал и нажмите на кнопку Actions, а далее Send test message для отправки тестового письма.
3. Настройка оповещения
-
Создайте новый индекс. Для этого перейдите на вкладку и нажмите на кнопку Create Index и укажите имя индекса.
-
Откройте веб-консоль Nova Container Platform, зайдите в под
nova-logs-0, перейдите на вкладку Терминал и выберите контейнерopensearch.Также вы можете зайти в консоль контейнера через
kubectl(если он настроен), используя следующую команду:kubectl exec --stdin --tty nova-logs-0 -c opensearch -n nova-logs -- /bin/bash -
Добавьте лог в новый индекс. Выполните следующую команду, заменив <имя индекса>.
curl -X POST "https://nova-logs-cluster.nova-logs.svc.cluster.local:9200/<имя индекса>/_doc/" -H 'Content-Type: application/json' -d'{"timestamp": "2024-06-30T12:34:56Z","loglevel": "CRITICAL","message": "Something went wrong"}' --cert /usr/share/opensearch/config/certs/transport/tls.crt --key /usr/share/opensearch/config/certs/transport/tls.key --cacert /usr/share/opensearch/config/certs/transport/ca.crt --insecure -
Перейдите на вкладку и нажмите на кнопку Create monitor.
-
Заполните следующие поля:
-
Monitor name- укажите имя. -
Выберите
Per document monitor. -
В блоке
Scheduleвыберите интервал: каждую минуту. -
Выберите созданный индекс в поле
Index. -
Query name- укажите имя. -
Field- выберите loglevel is CRITICAL. -
Нажмите на кнопку Add trigger.
-
Trigger name- укажите имя. -
Specify queries or tags- выберитеQuery nameиз предыдущего пункта. -
Action name- укажите имя. -
Channels- выберите канал, который был настроен ранее.
-
-
Выполните пункты 2 и 3, чтобы сгенерировать новое сообщение.
-
Проверьте почту получателя уведомлений. Обратите внимание, что оповещение проверяется каждую минуту, поэтому письмо может не прийти сразу.
-
Перейдите на вкладку и убедитесь, что появилось оповещение.