Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Monitoring
  • Начало работы
    • Обзор
    • Правила записи
    • Правила алертинга
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • История изменений
  • Обучающие курсы

В этой статье:

  • Предварительная настройка для работы с API
  • Добавление правил алертинга
  • Требования к правилам алертинга
  • Пример файла с правилами алертинга
  • Добавление и замена файла с правилами алертинга
  • Настройка Alert Manager
  • Особенности настройки каналов уведомлений
  • Пример файла конфигурации
  • Добавление и замена файла конфигурации
  • Просмотр алертов
  1. Yandex Managed Service for Prometheus®
  2. Правила алертинга

Правила алертинга

Статья создана
Yandex Cloud
Обновлена 17 ноября 2025 г.
  • Предварительная настройка для работы с API
  • Добавление правил алертинга
    • Требования к правилам алертинга
    • Пример файла с правилами алертинга
    • Добавление и замена файла с правилами алертинга
  • Настройка Alert Manager
    • Особенности настройки каналов уведомлений
    • Пример файла конфигурации
    • Добавление и замена файла конфигурации
  • Просмотр алертов

Yandex Managed Service for Prometheus® позволяет добавить правила вычисления алертов и отправлять уведомления об их срабатывании.

Для использования алертинга:

  • Добавьте правила алертинга.
  • Настройте Alert Manager для обработки и доставки уведомлений.

В этом разделе описаны особенности работы с правилами алертинга и конфигурацией Alert Manager. Управление файлами см. в разделе Правила записи.

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

Предварительная настройка для работы с APIПредварительная настройка для работы с API

API представлен набором REST-ресурсов, которые находятся по адресу https://monitoring.api.yandexcloud.kz/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules.

Чтобы начать выполнять запросы:

  1. Установите cURL.
  2. Аутентифицируйтесь в API.
  3. Создайте воркспейс и скопируйте его идентификатор, чтобы использовать в адресе запросов.

Добавление правил алертингаДобавление правил алертинга

Требования к правилам алертингаТребования к правилам алертинга

В Yandex Managed Service for Prometheus® можно использовать правила алертинга (alerting rules) на основе PromQL, созданные для других ваших инсталляций Prometheus.

При описании правил учитывайте особенности:

  • Поддерживаются все поля из спецификации YAML-файла.
  • Поддерживается шаблонизация аннотаций с помощью переменных $value и $labels.
  • Не поддерживаются итерации и функции.

Пример файла с правилами алертингаПример файла с правилами алертинга

Чтобы проверить работу алертинга, скопируйте код ниже в файл host-cpu-usage-alert.yml.

groups:
  - name: CPU_Usage_Alerts
    rules:
      - alert: HighCPUUsage
        expr: 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m]))) > 80
        for: 5m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage detected on {{$labels.instance}}"
          description: "CPU usage on instance {{$labels.instance}} has been above 80% for the last 5 minutes."

В примере описано правило CPU_Usage_Alerts с алертом HighCPUUsage. Алерт срабатывает, когда загрузка процессора выше 80% сохраняется более 5 минут. Процент загрузки процессора вычисляется по формуле в поле expr.

Для алерта задана метка severity: critical, которая используется для маршрутизации каналов уведомлений. В конфигурации Alert Manager можно сопоставить каналам определенные метки, чтобы уведомления по разным алертам отправлялись в разные каналы.

Добавление и замена файла с правилами алертингаДобавление и замена файла с правилами алертинга

Консоль управления
API
  1. На странице сервиса Monitoring слева выберите Prometheus.
  2. Выберите или создайте воркспейс.
  3. Перейдите на вкладку Правила.
  4. Если у вас еще нет загруженных файлов, нажмите Добавить файл и выберите файл .yml с правилами.
  5. Чтобы добавить еще один файл, нажмите Добавить файл.
  6. Чтобы заменить существующий файл, справа от него нажмите > Заменить файл.
  1. Создайте файл host-cpu-usage-alert.yml и закодируйте его содержимое в Base64 согласно RFC 4648:

    # cat <<EOF > host-cpu-usage-alert.yml
    groups:
    - name: CPU_Usage_Alerts
    rules:
        - alert: HighCPUUsage
        expr: 100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m]))) > 80
        for: 5m
        labels:
            severity: critical
        annotations:
            summary: "High CPU usage detected on {{$labels.instance}}"
            description: "CPU usage on instance {{$labels.instance}} has been above 80% for the last 5 minutes."
    EOF
    
    # base64 -iw0 host-cpu-usage-alert.yml
    Z3JvdXBzOgotIG5hbWU6I******
    
  2. Сохраните результат в JSON-файл:

    body.json

    {
        "name": "host-cpu-usage-alert.yml",
        "content" : "Z3JvdXBzOgotIG5hbWU6I******"
    }
    
  3. Создайте или замените файл с правилами алертинга:

    export IAM_TOKEN=<IAM-токен>
    
    curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${IAM_TOKEN}" \
        -d "@body.json"  \
        "https://monitoring.api.yandexcloud.kz/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules"
    

После создания правил алертинга они будут вычисляться и создавать метрики ALERTS и ALERTS_FOR_STATE. Для отправки уведомлений настройте Alert Manager.

Следить за статусами алертов можно на отдельной вкладке Prometheus → Алерты в консоли управления.

Подробнее о действиях с файлами и вычислении правил см. в разделе Правила записи.

Настройка Alert ManagerНастройка Alert Manager

Alert Manager отвечает за отправку уведомлений и настраивается отдельно от правил алертинга. Для настройки можно использовать файлы конфигурации, созданные для других ваших инсталляций Prometheus.

Особенности настройки каналов уведомленийОсобенности настройки каналов уведомлений

  • Каналы уведомлений из файла конфигурации сопоставляются с каналами уведомлений в Yandex Monitoring, которые заданы в каталоге воркспейса.
  • Сейчас поддерживается отправка в каналы Email, Telegram, SMS и Push. Остальные каналы будут проигнорированы без уведомлений об ошибках.
  • Канал выбирается согласно правилам маршрутизации в конфигурации Alert Manager, в секции routes. В правилах маршрутизации каналы сопоставляются меткам, заданным в правилах алертинга в секции labels. Например severity: critical.

Пример файла конфигурацииПример файла конфигурации

В этом примере настроена отправка уведомлений в Telegram, Email, SMS и Push.

global:
  resolve_timeout: 5m
# Маршрутизация и группировка алертов
route:
  # Получатель по умолчанию
  receiver: 'default-receiver'
  routes:
    # В этот канал отправляются уведомления по алертам с меткой severity="warning"
    - receiver: 'warning-receiver'
      matchers:
        - severity="warning"
    # В этот канал отправляются уведомления по алертам с меткой severity="critical"
    - receiver: 'critical-receiver'
      matchers:
        - severity="critical"

receivers:
# Получатель по умолчанию, в этот канал отправляются уведомления по алертам, для которых нет совпадений в секции routes
- name: 'default-receiver'
  yandex_monitoring_configs:
    # Каналы не указаны, алерты без меток не отправляются
    - channel_names: []
# Получатель для алертов с меткой severity="warning", вместо email укажите имя канала, заданного в каталоге воркспейса
- name: 'warning-receiver'
  yandex_monitoring_configs:
    - channel_names: [ 'email', 'push-channel' ]
# Получатель для алертов с меткой severity="critical", вместо telegram укажите имя канала, заданного в каталоге воркспейса
- name: 'critical-receiver'
  yandex_monitoring_configs:
    - channel_names: [ 'telegram', 'sms-channel' ]

Подробнее о настройке динамической маршрутизации уведомлений см. в документации Prometheus.

Добавление и замена файла конфигурацииДобавление и замена файла конфигурации

Консоль управления
API
  1. На странице сервиса Monitoring слева выберите Prometheus.
  2. Выберите или создайте воркспейс.
  3. Перейдите на вкладку Конфигурация Alert manager.
  4. Если у вас еще нет загруженного файла конфигурации, нажмите кнопку Загрузить файл конфигурации и выберите файл .yml.
  5. Чтобы скачать файл, нажмите Скачать.
  6. Чтобы заменить файл, нажмите Заменить файл.
  1. Сохраните конфигурацию в файл alertmanager.yml и закодируйте в Base64 согласно RFC 4648:

     # cat <<EOF > alertmanager.yml
     global:
       resolve_timeout: 5m
     route:
       receiver: 'default-receiver'
       routes:
         - receiver: 'warning-receiver'
           matchers:
             - severity="warning"
         - receiver: 'critical-receiver'
           matchers:
             - severity="critical"
    
       receivers:
       - name: 'default-receiver'
         yandex_monitoring_configs:
           - channel_names: []
       - name: 'warning-receiver'
         yandex_monitoring_configs:
           - channel_names: [ 'email', 'push-channel' ]
       - name: 'critical-receiver'
         yandex_monitoring_configs:
           - channel_names: [ 'telegram', 'sms-channel' ]
    
     EOF
    
     # base64 -iw0 alertmanager.yml
    
     # Z2xvYmFsOgogIHJlc29sdmVfdGltZW91******
    
  2. Сохраните результат в JSON-файл:

    alertmanager-body.json

    {
        "content" : "Z2xvYmFsOgogIHJlc29sdmVfdGltZW91******"
    }
    
  3. Создайте или замените файл конфигурации:

    export IAM_TOKEN=<IAM-токен>
    
    curl -X PUT \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${IAM_TOKEN}" \
        -d "@alertmanager-body.json"  \
        "https://monitoring.api.yandexcloud.kz/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/alertmanager"
    

В случае успешного запроса будет возвращен HTTP-код 204, иначе — текст ошибки. Файл, в котором не удалось найти ни одного соответствия текущим каналам уведомлений в каталоге, не будет принят.

Просмотр алертовПросмотр алертов

Состояние алертов можно отслеживать в консоли управления. Вкладка Правила показывает только правила вычисления алертов. Вкладка Алерты отображает все алерты и их статусы.

Чтобы просмотреть алерты:

Консоль управления
  1. На странице сервиса Monitoring слева выберите Prometheus.
  2. Выберите или создайте воркспейс.
  3. Перейдите на вкладку Алерты и посмотрите списки правил с алертами.
  4. (Опционально) Настройте фильтрацию алертов по имени и статусу.

Список статусов алертов:

  • OK — условие алерта не выполняется.
  • PENDING — условие алерта выполняется, но не прошло время из параметра for.
  • FIRING — условие алерта выполняется и прошло время из параметра for. Отправляются уведомления.
  • ERROR — ошибка при вычислении правила алерта.

Была ли статья полезна?

Предыдущая
Правила записи
Следующая
Управление доступом
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»