Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Архитектура и защита базового интернет-сервиса
    • Анализ поресурсной детализации расходов с помощью Object Storage
    • Получение сведений для запроса на включение ресурса в белый список Минцифры
      • Начало работы с Terraform
      • Источники данных Terraform
      • Загрузка состояний Terraform в Object Storage
      • Начало работы с Packer
      • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
      • Блокировка состояний Terraform с помощью Managed Service for YDB
      • Использование модулей Yandex Cloud в Terraform
      • Управление ресурсами Kubernetes с помощью провайдера Terraform
      • Создать ВМ и группу ВМ с Container Optimized Image с помощью Terraform
      • Передача логов через HTTP-вход Unified Agent в Cloud Logging
      • Запуск языковой модели DeepSeek-R1 в кластере GPU Compute Cloud
      • SLO-мониторинг веб-сервиса

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

  • Порядок настройки
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Настройте сбор системных метрик в Linux
  • Установите Prometheus node_exporter
  • Создайте systemd-сервис для node_exporter
  • Установите и настройте blackbox_exporter
  • Установите blackbox_exporter
  • Настройте конфигурацию blackbox_exporter
  • Создайте systemd-сервис для blackbox_exporter
  • Проверьте работу blackbox_exporter
  • Настройте поставку метрик в Monium
  • Установите OTel Collector
  • Настройте конфигурацию OTel Collector
  • Запустите OTel Collector
  • Настройте SLO на доступность сервиса
  • Настройте алерты по Error Budget
  • Создайте алерт по остатку Error Budget
  • Создайте алерт по скорости расхода Error Budget
  • Настройте SLO на время отклика сервиса
  • Создайте SLO на время отклика
  • Используйте системные метрики для диагностики после алерта
  • Удалите созданные ресурсы
  1. Базовая инфраструктура
  2. Инструменты
  3. SLO-мониторинг веб-сервиса

SLO-мониторинг веб-сервиса в Monium

Статья создана
Yandex Cloud
Обновлена 25 августа 2026 г.
Открыть в Markdown
  • Порядок настройки
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
    • Подготовьте инфраструктуру
  • Настройте сбор системных метрик в Linux
    • Установите Prometheus node_exporter
    • Создайте systemd-сервис для node_exporter
  • Установите и настройте blackbox_exporter
    • Установите blackbox_exporter
    • Настройте конфигурацию blackbox_exporter
    • Создайте systemd-сервис для blackbox_exporter
    • Проверьте работу blackbox_exporter
  • Настройте поставку метрик в Monium
    • Установите OTel Collector
    • Настройте конфигурацию OTel Collector
    • Запустите OTel Collector
  • Настройте SLO на доступность сервиса
  • Настройте алерты по Error Budget
    • Создайте алерт по остатку Error Budget
    • Создайте алерт по скорости расхода Error Budget
  • Настройте SLO на время отклика сервиса
    • Создайте SLO на время отклика
  • Используйте системные метрики для диагностики после алерта
  • Удалите созданные ресурсы

SLO-мониторинг помогает оценивать надежность сервиса относительно целевого уровня, а не реагировать на отдельные сбои. В этом руководстве вы настроите SLO-мониторинг веб-сервиса в Monium. Веб-сервис может работать в Yandex Cloud, другом облаке или вашей инфраструктуре.

SLO (Service Level Objective) — целевой уровень надежности сервиса, например «99,9% запросов за 30 дней обработаны успешно». Вы задаете SLO исходя из требований к надежности сервиса. На основе SLO Monium рассчитывает Error Budget — допустимый объем ошибок за период. Команда отслеживает расход Error Budget и реагирует на снижение надежности заранее.

В руководстве используется мониторинг на основе Prometheus-экспортеров. Вы настроите синтетические проверки доступности и времени отклика, поставку метрик в Monium, два SLO и алерты по Error Budget. Руководство подойдет SRE-инженерам, DevOps-специалистам и разработчикам, которые отвечают за надежность веб-сервисов.

Для сбора и доставки метрик потребуются:

  • node_exporter — собирает системные метрики Linux. Они помогают диагностировать состояние сервера после SLO-алерта.
  • blackbox_exporter — выполняет синтетические HTTP-, TCP- и ICMP-проверки. Метрики проверок используются для расчета SLI по доступности и времени отклика.
  • OpenTelemetry Collector (OTel Collector) — собирает метрики с node_exporter и blackbox_exporter и отправляет их в Monium.

Схема руководства: node_exporter работает на сервере приложения app-server, а blackbox_exporter и OTel Collector — на отдельном сервере мониторинга monitoring-server. OTel Collector опрашивает оба экспортера по Prometheus и отправляет метрики в Monium. Такой подход не требует изменений в приложении и позволяет хранить сервисы в приватной сети.

Примечание

В руководстве установка веб-сервиса не описана. Предполагается, что он уже развернут и доступен по сети. Утилита node_exporter устанавливается на сервере приложения, а blackbox_exporter и OTel Collector — на сервере мониторинга. Для простой схемы все компоненты можно установить вместе с веб-сервисом, тогда отдельный сервер мониторинга не потребуется.

Порядок настройкиПорядок настройки

  1. Подготовьте облако к работе.
  2. Настройте сбор системных метрик в Linux.
  3. Установите и настройте blackbox_exporter.
  4. Настройте поставку метрик в Monium.
  5. Настройте SLO на доступность сервиса.
  6. Настройте алерты по Error Budget.
  7. Настройте SLO на время отклика сервиса.
  8. Используйте системные метрики для диагностики после алерта.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входят:

  • плата за использование Monium (тарифы Monium);
  • плата за постоянно запущенные виртуальные машины, если веб-сервис или сервер мониторинга находятся в Yandex Cloud (тарифы Yandex Compute Cloud).

Подготовьте инфраструктуруПодготовьте инфраструктуру

  1. Подготовьте веб-сервис к SLO-мониторингу. Он может располагаться в любой инфраструктуре — в примерах подставьте его IP-адрес или доменное имя. В руководстве веб-сервис работает на ВМ app-server с Linux Ubuntu 20.04 и доступен по внутреннему IP-адресу 10.128.0.10.

  2. Создайте сервер мониторинга в Compute Cloud или в другой инфраструктуре. В руководстве используется ВМ Compute Cloud с Linux Ubuntu 20.04 и с именем monitoring-server. На ней вы установите blackbox_exporter и OTel Collector — они проверяют веб-сервис и доставляют метрики в Monium.

  3. Чтобы настроить доступ для отправки данных в Monium, создайте сервисный аккаунт и API-ключ. Это можно сделать интерфейсе Monium: слева выберите Настройки → Настройки проекта → Настройка записи телеметрии → OpenTelemetry.

    • Нажмите ссылку Создайте сервисный аккаунт. Выберите роль monium.metrics.writer или monium.telemetry.writer.
    • Нажмите ссылку Создайте API-ключ. Выберите область действия yc.monium.metrics.write или yc.monium.telemetry.write.

    Также сервисный аккаунт и API-ключ можно создать по инструкциям Создание сервисного аккаунта и Создать API-ключ.

  4. При разворачивании веб-сервиса и сервера мониторинга в Yandex Cloud создайте группу безопасности для сервера мониторинга и разрешите в ней:

    • исходящий TCP-трафик на порт 443 — для отправки метрик в Monium через OTel Collector;
    • исходящий трафик к эндпоинтам веб-сервиса — для проверок blackbox_exporter.

Настройте сбор системных метрик в LinuxНастройте сбор системных метрик в Linux

Для диагностики инцидентов нужны данные о состоянии сервера в момент срабатывания алерта. Установите на ВМ app-server Prometheus node_exporter — он собирает метрики CPU, памяти и дисков. Затем настройте OTel Collector на их отправку в Monium.

Установите Prometheus node_exporterУстановите Prometheus node_exporter

  1. Создайте системного пользователя для node_exporter:

    sudo useradd --no-create-home --shell /bin/false node_exporter
    
  2. Скачайте и распакуйте архив с node_exporter:

    wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
    tar zxvf node_exporter-1.11.1.linux-amd64.tar.gz
    
  3. Установите бинарный файл:

    sudo install -m 0755 ./node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/node_exporter
    sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
    

Создайте systemd-сервис для node_exporterСоздайте systemd-сервис для node_exporter

  1. Создайте файл /etc/systemd/system/node_exporter.service:

    [Unit]
    Description=Prometheus Node Exporter
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=node_exporter
    Group=node_exporter
    Type=simple
    ExecStart=/usr/local/bin/node_exporter --web.listen-address=<приватный_IP-адрес_сервера>:9100
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    Где <приватный_IP-адрес_сервера> — адрес сервера app-server в приватной сети. Если OTel Collector запущен на том же сервере, укажите 127.0.0.1.

  2. Запустите node_exporter:

    sudo systemctl daemon-reload
    sudo systemctl enable --now node_exporter
    
  3. Убедитесь, что статус сервиса сменился на active (running):

    sudo systemctl status node_exporter
    

    Результат:

    ● node_exporter.service - Prometheus Node Exporter
         Loaded: loaded (/etc/systemd/system/node_exporter.service; enabled; preset: enabled)
         Active: active (running) <...>
    
  4. Проверьте, что метрики доступны:

    curl http://<приватный_IP-адрес_сервера>:9100/metrics
    

Вместо node_exporter можно использовать Unified Agent на сервере приложения. Он собирает системные метрики и отправляет их напрямую в Monium, минуя OTel Collector. В этом случае конфигурация метрик будет храниться в разных местах. Подробнее в разделе Поставка системных метрик Linux.

Установите и настройте blackbox_exporterУстановите и настройте blackbox_exporter

Blackbox_exporter на сервере мониторинга выполняет синтетические HTTP-, TCP- и ICMP-проверки и формирует метрики probe_success и probe_duration_seconds. Они понадобятся для SLO на доступность и время отклика.

Установите blackbox_exporterУстановите blackbox_exporter

  1. Создайте системного пользователя:

    sudo useradd --no-create-home --shell /usr/sbin/nologin blackbox_exporter
    
  2. Скачайте и распакуйте архив:

    wget -O /tmp/blackbox_exporter.tar.gz https://github.com/prometheus/blackbox_exporter/releases/download/v0.28.0/blackbox_exporter-0.28.0.linux-amd64.tar.gz
    tar -zxvf /tmp/blackbox_exporter.tar.gz
    sudo install -m 0755 ./blackbox_exporter-0.28.0.linux-amd64/blackbox_exporter /usr/local/bin/blackbox_exporter
    sudo chown blackbox_exporter:blackbox_exporter /usr/local/bin/blackbox_exporter
    
  3. Создайте каталог для конфигурации:

    sudo mkdir -p /etc/blackbox_exporter
    

Настройте конфигурацию blackbox_exporterНастройте конфигурацию blackbox_exporter

  1. Создайте файл /etc/blackbox_exporter/blackbox.yml:

    modules:
      http_2xx:
        prober: http
        timeout: 5s
        http:
          method: GET
          valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
          preferred_ip_protocol: "ip4"
          follow_redirects: true
          fail_if_ssl: false
          fail_if_not_ssl: false
          tls_config:
            insecure_skip_verify: false
    
      http_2xx_tls:
        prober: http
        timeout: 5s
        http:
          method: GET
          follow_redirects: true
          fail_if_not_ssl: true
          preferred_ip_protocol: "ip4"
    
      tcp_connect:
        prober: tcp
        timeout: 3s
    
      icmp:
        prober: icmp
        timeout: 2s
    

    Где:

    • http_2xx — базовая проверка доступности HTTP-эндпоинта. Тип проверки — HTTP.
    • http_2xx_tls — проверка с обязательным TLS, параметр fail_if_not_ssl: true. Тип проверки — HTTP.
    • tcp_connect — проверка доступности TCP-порта. Тип проверки — TCP.
    • icmp — проверка сетевой достижимости хоста. Тип проверки — ICMP.
  2. Установите права на конфигурационный файл:

    sudo chown -R blackbox_exporter:blackbox_exporter /etc/blackbox_exporter
    

Создайте systemd-сервис для blackbox_exporterСоздайте systemd-сервис для blackbox_exporter

  1. Создайте файл /etc/systemd/system/blackbox_exporter.service:

    [Unit]
    Description=Prometheus Blackbox Exporter
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=blackbox_exporter
    Group=blackbox_exporter
    Type=simple
    ExecStart=/usr/local/bin/blackbox_exporter \
      --config.file=/etc/blackbox_exporter/blackbox.yml \
      --web.listen-address=127.0.0.1:9115
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  2. Запустите blackbox_exporter и добавьте его в автозагрузку:

    sudo systemctl daemon-reload
    sudo systemctl enable --now blackbox_exporter
    
  3. Проверьте, что статус сервиса сменился на active (running):

    sudo systemctl status blackbox_exporter
    

    Результат:

    ● blackbox_exporter.service - Prometheus Blackbox Exporter
         Loaded: loaded (/etc/systemd/system/blackbox_exporter.service; enabled; preset: enabled)
         Active: active (running) <...>
    

Проверьте работу blackbox_exporterПроверьте работу blackbox_exporter

Выполните тестовые проверки:

curl "http://127.0.0.1:9115/probe?target=http://10.128.0.10&module=http_2xx" | grep probe_success
curl "http://127.0.0.1:9115/probe?target=10.128.0.10:80&module=tcp_connect" | grep probe_success
curl "http://127.0.0.1:9115/probe?target=10.128.0.10&module=icmp" | grep probe_success

Где 10.128.0.10 — IP-адрес вашего веб-сервиса.

Результат:

probe_success 1

Настройте поставку метрик в MoniumНастройте поставку метрик в Monium

OTel Collector отправляет в Monium метрики, собранные blackbox_exporter и node_exporter.

Установите OTel CollectorУстановите OTel Collector

  1. Установите OTel Collector:

    sudo apt-get update
    sudo apt-get -y install wget
    wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.156.0/otelcol_0.156.0_linux_amd64.deb
    sudo dpkg -i otelcol_0.156.0_linux_amd64.deb
    
  2. Отредактируйте файл /etc/otelcol/otelcol.conf:

    MONIUM_PROJECT=folder__<идентификатор_каталога>
    MONIUM_API_KEY=<API-ключ>
    OTELCOL_OPTIONS=--config=/etc/otelcol/config.yaml
    

    Где:

    • MONIUM_PROJECT — имя проекта Monium, например folder__b1gg5f45su0k6rjr39s1.
    • MONIUM_API_KEY — API-ключ сервисного аккаунта с ролью monium.telemetry.writer.

Настройте конфигурацию OTel CollectorНастройте конфигурацию OTel Collector

Создайте файл /etc/otelcol/config.yaml:

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: blackbox_http_10_128_0_10
          scrape_interval: 30s
          metrics_path: /probe
          params:
            module: [http_2xx]
          static_configs:
            - targets:
                - http://10.128.0.10
              labels:
                probe_type: http
                target_name: lemp_http
          relabel_configs:
            - source_labels: [__address__]
              target_label: __param_target
            - source_labels: [__param_target]
              target_label: instance
            - target_label: __address__
              replacement: 127.0.0.1:9115

        - job_name: blackbox_tcp_10_128_0_10_80
          scrape_interval: 30s
          metrics_path: /probe
          params:
            module: [tcp_connect]
          static_configs:
            - targets:
                - 10.128.0.10:80
              labels:
                probe_type: tcp
                target_name: lemp_tcp_80
          relabel_configs:
            - source_labels: [__address__]
              target_label: __param_target
            - source_labels: [__param_target]
              target_label: instance
            - target_label: __address__
              replacement: 127.0.0.1:9115

        - job_name: blackbox_icmp_10_128_0_10
          scrape_interval: 30s
          metrics_path: /probe
          params:
            module: [icmp]
          static_configs:
            - targets:
                - 10.128.0.10
              labels:
                probe_type: icmp
                target_name: lemp_icmp
          relabel_configs:
            - source_labels: [__address__]
              target_label: __param_target
            - source_labels: [__param_target]
              target_label: instance
            - target_label: __address__
              replacement: 127.0.0.1:9115

        - job_name: node_exporter_lemp
          scrape_interval: 30s
          static_configs:
            - targets:
                - 10.128.0.10:9100
              labels:
                exporter: node_exporter
                target_name: lemp_node
                host: lemp

processors:
  batch:

exporters:
  otlp/monium:
    endpoint: ingest.monium.yacloudkz.tech:443
    compression: zstd
    headers:
      Authorization: "Api-Key ${env:MONIUM_API_KEY}"
      x-monium-project: "${env:MONIUM_PROJECT}"
      x-monium-cluster: production
      x-monium-service: lemp

service:
  telemetry:
    logs:
      level: info

  pipelines:
    metrics:
      receivers: [prometheus]
      processors: [batch]
      exporters: [otlp/monium]

Где:

  • 10.128.0.10 — IP-адрес вашего сервера приложения. Замените его на свой.
  • relabel_configs — правила перезаписи меток, чтобы Prometheus опрашивал blackbox_exporter, а не саму цель напрямую.
  • x-monium-cluster и x-monium-service — метки cluster и service, которые Monium присваивает всем метрикам из этого OTel Collector. По ним вы будете находить метрики и строить SLO. В примере используются значения production и lemp (веб-стек Linux, Nginx, MySQL, PHP) — замените их на свои.

Примечание

Метка probe_type принимает значения http, tcp и icmp. По ней удобно фильтровать метрики в Monium и строить отдельные SLO для каждого типа проверки.

Запустите OTel CollectorЗапустите OTel Collector

  1. Отредактируйте файл /etc/systemd/system/multi-user.target.wants/otelcol.service:

    [Unit]
    Description=OpenTelemetry Collector
    After=network.target
    
    [Service]
    EnvironmentFile=/etc/otelcol/otelcol.conf
    ExecStart=/usr/bin/otelcol $OTELCOL_OPTIONS
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=mixed
    Restart=on-failure
    Type=simple
    User=otel
    Group=otel
    
    [Install]
    WantedBy=multi-user.target
    
  2. Запустите OTel Collector:

    sudo systemctl daemon-reload
    sudo systemctl enable --now otelcol
    sudo systemctl status otelcol
    
  3. Убедитесь, что метрики поступают в Monium:

    • Откройте Monium.
    • В левом меню раскройте Обзор и выберите Метрики.
    • В поиске укажите service = "lemp" — значение метки service из заголовка x-monium-service в конфигурации OTel Collector. Если вы задали другое значение, укажите его.

    В списке появятся метрики probe_success, probe_duration_seconds и метрики node_exporter.

Примечание

Учитывайте, что данные в Monium появляются не сразу, а с задержкой, поскольку Otel Collector начинает отправку данных через 60 секунд.

Настройте SLO на доступность сервисаНастройте SLO на доступность сервиса

blackbox_exporter возвращает бинарный результат проверки: probe_success равно 1 при успехе и 0 при неудаче. На основе этой метрики создайте SLO на доступность:

  1. На главной странице Monium слева раскройте раздел Алерты и SLO.

  2. Выберите SLO.

  3. Нажмите Создать.

  4. Укажите параметры SLO:

    • Название — например, SLO HTTP Availability 30d.
    • Окно вычисления — 30d.
    • Задержка вычисления — 2m. Значение должно быть больше интервала сбора метрик: при scrape_interval: 30s значение 2m достаточно.
    • SLO — 99.9%.
    • Метод расчета — Good Events / Total Events.
  5. В блоке Good Events укажите запрос:

    series_sum(
        {project = "folder__<идентификатор_каталога>", cluster = "production", service = "lemp", probe_type = "http", name = "probe_success"}
      )
    
  6. В блоке Total Events укажите запрос:

    series_count(
        {project = "folder__<идентификатор_каталога>", cluster = "production", service = "lemp", probe_type = "http", name = "probe_success"}
      )
    
  7. Нажмите Создать.

Error Budget рассчитывается автоматически сразу после создания SLO.

Настройте алерты по Error BudgetНастройте алерты по Error Budget

Создайте алерты, чтобы отслеживать расход Error Budget:

  • По остатку Error Budget — показывает, что надежность сервиса постепенно снижается.
  • По скорости расхода Error Budget — показывает резкий рост ошибок.

Создайте алерт по остатку Error BudgetСоздайте алерт по остатку Error Budget

  1. На главной странице Monium слева раскройте раздел Алерты и SLO.

  2. Выберите Алерты.

  3. Нажмите Создать алерт → SLO.

  4. Укажите название и уровень алерта, например Critical — остаток Error Budget сигнализирует о постепенной деградации.

  5. Выберите SLO, созданный на предыдущем шаге.

  6. В поле Метод расчета выберите Остаток Error Budget.

  7. Укажите условия срабатывания:

    • Warning — 50%.
    • Alarm — 20%.
  8. Нажмите Создать.

Создайте алерт по скорости расхода Error BudgetСоздайте алерт по скорости расхода Error Budget

  1. На главной странице Monium слева раскройте раздел Алерты и SLO.

  2. Выберите Алерты.

  3. Нажмите Создать алерт → SLO.

  4. Укажите название и уровень алерта, например Disaster — высокая скорость расхода Error Budget сигнализирует о внезапном инциденте.

  5. Выберите SLO, созданный на предыдущем шаге.

  6. В поле Метод расчета выберите Скорость расхода Error Budget.

  7. Укажите условия срабатывания:

    • Warning — 1%.
    • Alarm — 2%.
    • Окно вычисления — 1h.
  8. Нажмите Создать.

Настройте SLO на время отклика сервисаНастройте SLO на время отклика сервиса

blackbox_exporter измеряет время синтетических проверок через метрику probe_duration_seconds. На ее основе создайте SLO: 99% HTTP-проверок должны завершаться быстрее чем за 300 мс.

Примечание

Если нужен SLO формата «p95 < 300 мс», используйте метрики приложения, ingress-контроллера или балансировщика нагрузки. blackbox_exporter проверяет сервис снаружи и показывает деградации DNS, TLS, сети и балансировщиков.

Метрика probe_duration_seconds показывает суммарное время проверки, но не указывает, где именно теряется время. blackbox_exporter разбивает проверку на фазы:

Метрика Что измеряет
probe_dns_lookup_time_seconds Время разрешения DNS
probe_tcp_connect_duration_seconds Время установки TCP-соединения
probe_tls_handshake_duration_seconds Время TLS-рукопожатия
probe_http_duration_seconds Время фаз HTTP-запроса
probe_duration_seconds Суммарное время проверки

Для визуализации добавьте метрики по фазам в дашборд в виде stacked-графика. SLO и алерты стройте по суммарной метрике probe_duration_seconds. При деградации задержки графики покажут, в какой фазе появилась проблема: DNS, TLS или сетевой маршрут.

Создайте SLO на время откликаСоздайте SLO на время отклика

  1. На главной странице Monium слева раскройте раздел Алерты и SLO.

  2. Выберите SLO.

  3. Нажмите Создать.

  4. Укажите параметры SLO:

    • Название — например, SLO LATENCY HTTP 30d.
    • Окно вычисления — 30d.
    • SLO — 99%.
    • Метод расчета — Good Events / Total Events.
  5. В блоке Good Events укажите запрос:

    series_sum(
      heaviside(
        ({project="folder__<идентификатор_каталога>", cluster="production", service="lemp", probe_type="http", name="probe_duration_seconds"} * -1) + 0.3
      )
    )
    

    Где:

    • 0.3 — порог задержки в секундах, 300 мс.
    • heaviside() — функция, которая отбирает пороговые проверки. Возвращает 1, если задержка меньше 300 мс, и 0, если больше.

    Проверки с задержкой ровно 300 мс учитываются как половина события, что на практике не влияет на расчет SLI.

  6. В блоке Total Events укажите запрос:

    series_sum(
      {project="folder__<идентификатор_каталога>", cluster="production", service="lemp", probe_type="http", name="probe_duration_seconds"} * 0 + 1
    )
    
  7. Нажмите Создать.

Используйте системные метрики для диагностики после алертаИспользуйте системные метрики для диагностики после алерта

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

Категория Метрики На что смотреть
CPU node_cpu_seconds_total в разрезе режимов iowait, idle, steal steal особенно важен на виртуализации
Память node_memory_MemAvailable_bytes Доступная для использования память
Диск node_disk_read_time_seconds_total, node_disk_write_time_seconds_total, node_disk_io_time_weighted_seconds_total Задержки чтения/записи, очередь I/O
Файловые системы node_filesystem_free_bytes, node_filesystem_files_free Свободное место и inodes
Сеть node_network_receive_bytes_total, node_network_transmit_bytes_total, node_network_receive_drop_total Трафик и дропы по интерфейсам

Если SLO-алерт сработал по probe_duration_seconds, сначала проверьте сетевые фазы: probe_dns_lookup_time_seconds и probe_tls_handshake_duration_seconds. Затем перейдите к серверным метрикам: node_disk_io_time_weighted_seconds_total и node_cpu_seconds_total{mode="iowait"}.

Удалите созданные ресурсыУдалите созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите созданные алерты в Monium.
  2. Удалите виртуальные машины Compute Cloud.
  3. Удалите сервисный аккаунт Identity and Access Management.
  4. Удалите группу безопасности Virtual Private Cloud.

Если вы зарезервировали публичные статические IP-адреса, удалите их.

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

Предыдущая
Запуск языковой модели DeepSeek-R1 в кластере GPU Compute Cloud
Следующая
Настройка синхронизации часов с помощью NTP
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»