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

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

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

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

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

Примечание

Правила алертинга находятся на стадии Preview.

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

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

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

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

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

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

API представлен набором REST-ресурсов, которые находятся по адресу https://monitoring.api.cloud.yandex.net/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) (rat(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 last5 minutes."

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

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

Консоль управления
API
  1. На странице сервиса Monitoring слева выберите Prometheus.
  2. Выберите или создайте воркспейс.
  3. Перейдите на вкладку Recording rules.
  4. Если у вас еще нет загруженных файлов, нажмите Добавить файл и выберите файл .yml с правилами.
  5. Чтобы добавить еще один файл, нажмите Добавить файл.
  6. Чтобы заменить существующий файл, справа от него нажмите > Заменить файл.
  1. Закодируйте содержимое файла в 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]))) > 10
        for: 2m
        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.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules"
    

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

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

Особенности обработки правилОсобенности обработки правил

  • Каналы уведомлений из файла конфигурации сопоставляются с каналами уведомлений в Yandex Monitoring, которые заданы в каталоге воркспейса.
  • Поддерживается отправка в каналы Email и Telegram. Остальные каналы будут проигнорированы без уведомлений об ошибках. В будущем планируется поддержка всех каналов уведомлений, доступных в Yandex Monitoring.
  • Канал выбирается согласно заданному типу, динамическая маршрутизация пока не поддерживается.
  • Если в конфигурации нет каналов, соответствующих каналам в каталоге, файл не будет принят.

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

Чтобы настроить отправку уведомлений, добавьте в пример ниже адрес вашей почты и аккаунт в Telegram.

global:
  resolve_timeout: 5m
receivers:
  - name: 'email'
    email_configs:
      - to: 'alerts@company.org'
  - name: 'telegram'
    telegram_configs:
      - api_url: 'https://api.telegram.org'

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

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

     # cat <<EOF > alertmanager.yml
     global:
     resolve_timeout: 5m
    
     receivers:
     - name: email_receiver
         email_configs:
         - to: "alerts@monitoring.org"
     - name: 'telegram'
         telegram_configs:
         - api_url: 'https://api.telegram.org'
     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.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/alertmanager"
    

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

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

Предыдущая
Правила записи
Следующая
Чтение и запись метрик кластера Kubernetes
Проект Яндекса
© 2025 ООО «Яндекс.Облако»