Функция оповещений Grafana обнаруживает, соответствуют ли мониторируемые метрики заданным пороговым условиям, на основе настроенной системы мониторинга. Она помогает уведомлять пользователей и быстро выявлять или устранять проблемы, обеспечивая безопасность и стабильность вашего кластера.
В этом разделе описано, как развернуть и управлять компонентами оповещений. YMatrix поддерживает оповещения для следующих метрик:
Доступны четыре метода уведомлений. Вы можете выбрать один или комбинировать несколько методов по необходимости:
Для использования оповещений необходимо сначала развернуть и включить мониторинг. Подробности см. в разделе: Установка и управление Grafana
После развертывания вы увидите следующий интерфейс:

Перед импортом предопределенных панелей оповещений скопируйте файл alert.json с сервера на локальную машину. Процесс аналогичен импорту dashboard.json и database.json в Grafana: необходимо найти файл на сервере, скопировать его и загрузить локально. Выполните следующие шаги:
Войдите на сервер и переключитесь на пользователя mxadmin. Найдите файл alert.json по указанному в изображении пути. Вы можете использовать команду cd, команду find или любой другой предпочитаемый способ.
[mxadmin@mdw ~]$ cd /opt/ymatrix/matrixdb5/share/doc/postgresql/extension
##or
[mxadmin@mdw ~]$ find /opt/ymatrix/matrixdb5/share/doc/postgresql/extension -name alert.json
Затем используйте команду scp, чтобы скопировать файл на вашу локальную машину. Возможны проблемы с правами доступа. Рекомендуется сначала скопировать файл в общую директорию /tmp/, а затем перенести его из /tmp/ на локальную машину.
Примечание!
При копировании из/tmp/убедитесь, что вы переключились на нужного пользователя, чтобы избежать проблем с правами доступа.
[mxadmin@mdw]$ scp mxadmin@<server IP address>:/opt/ymatrix/matrixdb5/share/doc/postgresql/extension/"alert.json" mxadmin@<server IP address>:/tmp/
~ scp waq@<server IP address>:/tmp/"alert.json" /Users/akkepler/workplace/Grafana
Наконец, откройте локальную папку или используйте командную строку, чтобы убедиться, что файл успешно скопирован. После подтверждения замените все вхождения переменной $host в локальном файле alert.json на фактические имена хостов вашего кластера. Например, если ваш кластер состоит из одного мастера и двух сегментов с именами mdw, sdw1 и sdw2, замените каждое $host на 'mdw', 'sdw1', 'sdw2'. После изменения импортируйте файл в интерфейс Grafana.
Примечание!
Файлыdashboard.jsonиdatabase.json, загруженные в ваш интерфейс Grafana, также должны быть изменены. Эти файлы необходимо загрузить доalert.json. Вdashboard.jsonзамените все${cluster}наlocalи$hostна фактические имена хостов. Вdatabase.jsonзамените только${cluster}наlocal.

Выберите файл alert.json, расположенный по пути /opt/ymatrix/matrixdb5/share/doc/postgresql/extension.
Панель оповещений работает аналогично панели мониторинга. Вы можете переключаться между панелями с помощью выпадающего меню в правом верхнем углу каждой панели.
Сначала настройте каналы уведомлений. Точка входа показана ниже:

YMatrix предоставляет встроенную поддержку оповещений по SMS через сервис Alibaba Cloud SMS — рекомендуемый вариант. При срабатывании оповещения SMS-сообщения отправляются на настроенные номера телефонов. Поддерживается массовая отправка. Перед использованием зарегистрируйте и настройте сервис Alibaba Cloud SMS. Подробности см.:
Документация Alibaba Cloud: Быстрый старт для SMS в Китае
Альтернативно, вы можете настроить Webhook для оповещений по SMS. Это требует написания пользовательской логики Webhook. Подробности см. в Документации Grafana: Уведомления через Webhook
Создайте файл alert.yaml в директории /etc/matrixdb/:
# aliyun service config
aliyun_service:
access_key_id: "your access_key_id"
access_key_secret: " access_key_secret"
signature: "signature"
sms_template_code: "SMS_123445678"
Здесь:
access_key_id и access_key_secret выдаются при активации сервисов Alibaba Cloud.signature — утвержденный текст подписи, зарегистрированный в консоли SMS Alibaba Cloud.sms_template_code — ID шаблона, начинающийся с "SMS_", зарегистрированный и утвержденный в консоли Alibaba Cloud.${name} как переменную для сообщения об оповещении.Пример шаблона:
Dear Administrator, your database system has triggered a ${name} alert. Please log in to view details and take action promptly.
Как показано:

Рекомендуемое имя канала:
Aliyun Batch Short Message - Для суперадминистраторов
"SuperAdministrators" обозначает группу получателей. Для определения другой группы создайте отдельное правило. Обратите внимание, что параметр phoneNumbers чувствителен к регистру. Можно указать несколько номеров, разделяя их запятыми, для массовой отправки:
http://
: /api/alert/batch-sms?phoneNumbers=18311111111,13811111111
Помимо SMS, YMatrix поддерживает голосовые оповещения через голосовой сервис Alibaba Cloud. При срабатывании оповещения осуществляются звонки на настроенные номера телефонов. Поддерживается массовая рассылка. Перед использованием зарегистрируйте и настройте голосовой сервис Alibaba Cloud. Подробности см.: Документация Alibaba Cloud: Быстрый старт для голосовых услуг в Китае
Вы также можете настроить Webhook для голосовых оповещений, однако это требует реализации пользовательской логики. Подробности см. в Документации Grafana: Уведомления через Webhook
Добавьте tts_template_code и region_id в файл alert.yaml, расположенный в директории /etc/matrixdb/:
# aliyun service config
aliyun_service:
access_key_id: "your access_key_id"
access_key_secret: " access_key_secret"
signature: "signature"
sms_template_code: "SMS_123445678"
tts_template_code: "TTS_123456788"
region_id: "cn-hangzhou"
access_key_id и access_key_secret используются совместно с сервисом SMS.tts_template_code начинается с "TTS_" и относится к утвержденному TTS-шаблону в консоли Alibaba Cloud.${name} как переменную для сообщения об оповещении в шаблоне.Пример:
Dear Administrator, your database system has triggered a ${name} alert. Please log in to view details and take action promptly.

Рекомендуемое имя канала:
Aliyun Voice Message - Для суперадминистраторов
"SuperAdministrators" обозначает группу получателей. Для других групп создайте отдельные правила. Параметр phoneNumbers чувствителен к регистру. Можно указать несколько номеров, разделяя их запятыми:
http://
: /api/alert/vms?phoneNumbers=18311111111,13811111111
Grafana предоставляет встроенную поддержку оповещений по электронной почте. Настройка проста и удобна.
Оповещения по электронной почте используют встроенную поддержку SMTP в Grafana. Настройте SMTP-сервер в конфигурационном файле Grafana. Путь к файлу может отличаться в зависимости от способа развертывания. Стандартный путь в CentOS 7:
/etc/grafana/grafana.ini
Дополнительные сведения см. в: Официальная документация Grafana: Конфигурация
Пример конфигурации:
#################################### SMTP / Emailing #####################
[smtp]
enabled = true
host = <your smtp host>
user = <your user>
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = <your password>
;cert_file =
;key_file =
skip_verify = true
from_address = <your email address>
from_name = Grafana
;ehlo_identity =
;startTLS_policy =
[emails]
welcome_email_on_sign_up = false
templates_pattern = emails/*.html
Как показано:

Рекомендуемое имя канала:
Email - Для суперадминистраторов
"SuperAdministrators" обозначает группу получателей. Для других групп создайте отдельные правила.
Примечание!
Если настройка не удается, проверьте/var/log/grafana/grafana.logна наличие деталей ошибки.
После настройки каналов уведомлений настройте правила оповещений для каждой панели мониторинга.
Подробности о настройке оповещений см. в: Официальная документация Grafana: Оповещения
Наведите курсор на название конкретной панели оповещения. Справа появится стрелка выпадающего меню. Нажмите "Edit", чтобы перейти в режим редактирования.
Переключитесь с вкладки "Query" на вкладку "Alert" в разделе "Edit Panel". Если появится всплывающее окно с сообщением "Обнаружен неработающий нотификатор", не нажимайте "Delete" — это может удалить панель. Вместо этого нажмите "Cancel" и закройте окно.

Прокрутите вниз до раздела "Notifications". Введите краткое сообщение об оповещении (рекомендуется 4–6 слов). Это сообщение будет отображаться в письмах и заменять переменную ${name} в шаблонах SMS и голосовых сообщений. Учитывайте ограничения по длине, поэтому сообщение должно быть коротким. Выберите один или несколько каналов уведомлений (настроенных ранее) в разделе "Send to".

Временные базы данных агрегируют данные по интервалам времени. "No Data" может возникать, если данные не собирались в течение интервала — например, время Grafana опережает системное время на 5 минут, и агрегируются данные последней минуты. Также "No Data" может возникать из-за сбоев сбора данных. Этот сценарий обрабатывается функцией "Alerting".

Как показано:

Красная линия порога на графике "Используемое дисковое пространство" обозначает уровень срабатывания. Красная заштрихованная область превышает этот порог и сигнализирует об опасности. Значение порога по умолчанию — 85%. Вы можете настроить значение "IS ABOVE" по необходимости.

Оповещения о чтении и записи дискового I/O (Disk IO Reading, Disk IO Writing) отключены по умолчанию, что позволяет задавать пользовательские пороги.
Примечание!
После внесения изменений нажмите "Save", чтобы применить настройки оповещений.


alert.yaml, выполните следующие команды для применения изменений:source /opt/ymatrix/matrixdb5/greenplum_path.sh
supervisorctl stop mxui
supervisorctl start mxui