В этой статье мы узнаем, как настроить оповещения по электронной почте в Grafana, мощной платформе с открытым исходным кодом, используемой для мониторинга и наблюдения. Оповещения по электронной почте – важная функция системы оповещения Grafana, обеспечивающая немедленное уведомление о критических событиях или аномалиях, обнаруженных в отслеживаемых метриках. Настроив оповещения по электронной почте, пользователи могут оставаться в курсе важных изменений в своих системах и принимать упреждающие меры для решения любых проблем.
Шаг #1:Установка Prometheus на Ubuntu
Загрузите последнюю версию Prometheus из репозитория GitHub с помощью следующей команды.
wget https://github.com/prometheus/prometheus/releases/download/v2.30.0/prometheus-2.30.0.linux-amd64.tar.gz

извлеките загруженные архивы.
tar xvfz prometheus-2.30.0.linux-amd64.tar.gz
Команда извлекает содержимое файла prometheus-2.30.0.linux-amd64.tar.gz

Теперь перейдите в извлеченную директорию с помощью следующей команды.
cd prometheus-2.30.0.linux-amd64

перейдите в каталог /etc/systemd/system, где обычно располагаются файлы модулей systemd, которые используются для управления службами в системах Linux.
cd /etc/systemd/system

Теперь создадим службу для Prometheus с именем prometheus.service.
sudo vi prometheus.service

добавьте в него следующее содержимое.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/home/ubuntu/prometheus-2.30.0.linux-amd64/prometheus --config.file=/home/ubuntu/prometheus-2.30.0.linux-amd64/prometheus.yml
Restart=always
[Install]
WantedBy=default.target

Теперь наш prometheus.service создан.
После этого
Перезагрузите службу демонов, включите и запустите службу Prometheus:
sudo systemctl daemon-reload
sudo systemctl enable prometheus.service
sudo systemctl start prometheus.service

теперь проверьте состояние службы Prometheus с помощью следующей команды:
sudo systemctl status prometheus.service

Если ваш сервис работает правильно, вы можете запустить prometheus, выполнив команду
Public IP:9090
, который является портом по умолчанию для prometheus в url.

Шаг #2:Установка Grafana на Ubuntu
Сначала импортируйте ключ GPG, используемый пакетом Grafana.
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

, затем добавьте репозиторий Grafana в источники APT.
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

После добавления репозитория обновите списки пакетов
sudo apt update

затем установите grafana.
sudo apt install grafana

Запустите и включите службу Grafana.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

и если все работает нормально, и ваш сервис работает должным образом, запустите grafana, запустив ваш Public IP:3000
, который является портом grafana по умолчанию в searchbar.
Вы увидите страницу входа в пользовательский интерфейс grafana (UI)
Grafana использует admin
в качестве имени пользователя и пароля по умолчанию.

появится запрос на изменение пароля, вы можете изменить его или пропустить.

затем вы увидите страницу приветствия Grafana.

Шаг №3:Настройка параметров SMTP
Чтобы включить оповещения по электронной почте, Grafana требует настройки SMTP (Simple Mail Transfer Protocol). В настройках SMTP указывается почтовый сервер, через который Grafana будет отправлять уведомления об оповещениях.
Поэтому сначала нам нужно получить пароль, который нужно указать в настройках smtp.
Зайдите в свой аккаунт google. Затем перейдите в раздел “Безопасность”.

В разделе “Как вы входите в Google” выберите двухэтапную проверку.

Введите пароль учетной записи google, чтобы убедиться, что это вы.

Прокрутите вниз и выберите пароли приложений

Теперь введите имя приложения, для которого вы хотите получить пароль приложения, например Grafana.
И нажмите на кнопку Создать, чтобы создать его

будет сгенерирован пароль. Запишите его, так как он будет использоваться при настройке SMTP.

открыто /etc/grafana/grafana.ini файл.
sudo nano /etc/grafana/grafana.ini

отредактируйте его, как показано ниже.
[smtp]
enabled = true
host = smtp.gmail.com:587
user = [email protected]
password = your app password
skip_verify = true
from_address = [email protected]
from_name = Grafana

сохраните его и перезапустите сервер grafana.
sudo systemctl restart grafana-server

Шаг #4:Добавьте Prometheus в качестве источника данных в Grafana
Теперь перейдите на страницу приветствия Grafana. Перейдите на страницу Home
в левом верхнем углу.
Затем перейдите в раздел Connections
и выберите Data sources
вариант.

Нажмите на Add Data Source

Найдите Prometheus в строке поиска и выберите его.

В подключении в поле Prometheus server URL укажите url сервера, на котором запущен наш Prometheus.

после этого нажмите на save and test
кнопку. Вы увидите сообщение об успешном запросе prometheus.

Шаг #5:Добавление точек контакта
Вернитесь на главную страницу Grafana и выберите Alerting > Contact points.

нажмите на Add contact point.

Дать соответствующую name
вашей точке контакта. Например, Grafana.
Выберите Email
в качестве интеграции
Затем в addresses
укажите идентификатор или идентификаторы электронной почты, разделяя их запятыми.
И нажмите на кнопку Test
, чтобы проверить его.

Нажмите на Send test notification
.

Теперь откройте указанный вами почтовый идентификатор, там вы увидите тестовое оповещение. Нажмите на него.


После этого вернитесь в Grafana и нажмите на кнопку сохранить контактную точку, чтобы сохранить ее.

Шаг #6:Настройка политик уведомлений
Теперь в разделе “Оповещение” выберите Notification policies.

Там будет политика по умолчанию, нажмите и отредактируйте ее.

Измените контактную точку по умолчанию на ту, которую мы создали. Вот она Grafana
.
Затем нажмите на Update default policy.

Шаг #7:Настройка правил оповещений для получения оповещений по электронной почте
Теперь в разделе “Оповещение” выберите Alert rules
.

выберите New alert rule
.

Здесь Enter alert rule name
для идентификации вашего оповещения.
Определите запрос и условие оповещения.
- метрика: process_cpu_seconds_total
- фильтры меток: instance = localhost:9090

Этот запрос позволяет получить общее процессорное время, затраченное всеми процессами за определенное время.
Теперь выберите Grafana-managed
в качестве типа правила. В разделе Выражения установите Threshold
в качестве условия предупреждения и измените значение IS ABOVE to 0.7
При установке значения “IS ABOVE” в 0,7 вы указываете, что оповещение должно срабатывать, когда значение отслеживаемой метрики превышает 70 %. Это значение может представлять собой процент, отношение или любую другую единицу измерения в зависимости от отслеживаемой метрики.

В разделе Настройка поведения оценки создайте новую папку для хранения правила и группы оценки.
здесь имя папки CPU time
.
Имя группы оценки CPU time
, а интервал оценки 30 seconds
, который определяет, как часто оценивается правило. Нажмите на Create
.

Измените pending period
на 30 seconds
. Он должен быть равен интервалу оценки или меньше его.
Наконец, нажмите на кнопку Save rule and exit
, чтобы включить оповещения по электронной почте.

Теперь подождите 30 секунд, пока не появится оповещение
Проверьте свой почтовый ящик.

Как вы можете видеть, наше оповещение успешно сработало.
С помощью этого вы можете получать своевременные оповещения по электронной почте.

Заключение:
Настройка оповещений по электронной почте в Grafana позволяет получать немедленные уведомления о критических событиях или аномалиях, обнаруженных в данных мониторинга. Выполнив шаги, описанные в этом руководстве, вы сможете настроить каналы уведомления по электронной почте, определить правила оповещения и обеспечить своевременное получение оповещений по электронной почте. Эффективное оповещение повышает способность отслеживать и реагировать на изменения в состоянии и производительности системы, что в конечном итоге повышает общую надежность и время безотказной работы.