Мониторинг BGP и Looking Glass: инструменты, настройка алертинга в Prometheus | AdminWiki

Мониторинг BGP и Looking Glass: инструменты, настройка алертинга в Prometheus

15 июля 2026 7 мин. чтения
Содержание статьи

Зачем вам мониторинг BGP: от инцидентов к автоматическому алертингу

Сбои в маршрутизации BGP напрямую приводят к простою ваших сервисов. Пока вы проверяете серверы, проблема может быть в глобальной таблице маршрутизации. Мониторинг BGP - это такой же обязательный элемент инфраструктуры, как мониторинг серверов или баз данных.

Распределенные системы и тренд на агентный искусственный интеллект усложняют сетевую инфраструктуру. Исследование IDC за 2026 год показывает, что ключевыми препятствиями для внедрения AI в сети являются проблемы безопасности (32.6% респондентов), сложности автоматизации (26.8%) и нехватка времени у персонала (24.7%). Ручной мониторинг маршрутизации в таких условиях становится неэффективным. Внедрение автоматических инструментов позволяет оперативно выявлять проблемы и сокращать время восстановления.

Типичные инциденты маршрутизации, которые «ломают» ваш сервис

Исчезновение вашего префикса из глобальной BGP-таблицы делает сайт или API недоступным для части пользователей. Это происходит при ошибках конфигурации на стороне провайдера, сбоях на ваших маршрутизаторах или отзыве анонса из-за проблем с RPKI. Последствия - потеря трафика и выручки.

Утечка маршрутов перенаправляет трафик через неожиданные автономные системы. Это может привести к DDoS-атакам на вашу инфраструктуру, увеличению задержек или полной недоступности. Такие инциденты часто возникают при ошибках фильтрации на граничных маршрутизаторах.

Неожиданные изменения в AS-PATH ухудшают latency и стабильность соединений. Пользователи жалуются на медленную работу приложения, хотя серверы загружены минимально. Причина - изменение оптимального пути из-за обновлений у upstream-провайдеров.

Инструменты для анализа: BGPStream, RIS, RIPE Stat и Looking Glass на практике

Этот набор инструментов решает задачи ручной проверки и расследования инцидентов. BGPStream и RIS Live предоставляют данные о глобальной таблице маршрутизации. RIPE Stat дает исторический анализ и проверку корректности анонсов. Looking Glass позволяет проверить видимость ваших маршрутов из конкретных точек мира.

Данные из этих источников, особенно из RIS Live, позже используются для автоматизации мониторинга через bgp_exporter.

BGPStream и RIS Live: мониторинг глобальной таблицы в реальном времени

BGPStream - это CLI и API для работы с историческими данными и событиями BGP. Он агрегирует информацию с множества коллекторов. Установите bgpstreamcli и проверьте анонсы своего AS:

bgpstreamcli -a routeviews -p 21 -t prefixes -s 2026-07-15T10:00:00 -e 2026-07-15T11:00:00 -f "prefix=193.0.0.0/21"

RIS Live предоставляет сырые данные BGP в реальном времени от коллекторов RIPE NCC. Подключитесь через WebSocket для получения обновлений. Задержка обновления данных обычно составляет 1-2 минуты. Для мониторинга в реальном времени RIS Live предпочтительнее, но требует обработки JSON-потока.

RIPE Stat: исторический анализ и проверка корректности анонсов

Используйте API RIPE Stat (https://stat.ripe.net) для аудита своей маршрутизации. Проверьте историю анонсов префикса, статус RPKI (ROA) и анализ соседних AS.

Пример запроса для проверки корректности анонса вашего /24:

curl -s "https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS12345" | jq '.data.prefixes[] | select(.prefix == "193.0.1.0/24")'

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

Использование публичных Looking Glass для точечной диагностики

Looking Glass сервисы провайдеров позволяют проверить видимость ваших маршрутов из конкретных точек. Это критично при локализованных проблемах, когда сайт недоступен только из определенного региона.

Найдите нужный Looking Glass через списки на bgp.he.net или у крупных транзитных провайдеров. Подключитесь через telnet или SSH и выполните команды проверки. Пример для оборудования Cisco:

show ip bgp 193.0.1.0/24

Синтаксис команд отличается на оборудовании разных вендоров. На Juniper используйте show route protocol bgp 193.0.1.0/24. Предварительно изучите документацию провайдера.

Автоматизация мониторинга: настройка bgp_exporter и интеграция с Prometheus

bgp_exporter опрашивает источники данных (RIS Live, RIPE Stat) и экспортирует метрики в формате Prometheus. Инструкции актуальны для версии bgp_exporter 2.0.0 и выше.

Установка и базовая конфигурация bgp_exporter

Скачайте бинарный файл с GitHub, создайте пользователя и настройте systemd для автоматического запуска.

wget https://github.com/bgp-exporter/bgp-exporter/releases/download/v2.0.0/bgp_exporter-linux-amd64
sudo mv bgp_exporter-linux-amd64 /usr/local/bin/bgp_exporter
sudo useradd --system --no-create-home bgp_exporter

Создайте базовый конфигурационный файл /etc/bgp_exporter/bgp_exporter.yaml для мониторинга одного префикса:

modules:
  default:
    timeout: 30s
    targets:
      - rrc21.ripe.net
    prefix: 193.0.1.0/24
    asn: 12345

Проверьте работу экспортера:

curl http://localhost:9474/metrics

В выводе должны присутствовать метрики bgp_upstream_announcements и bgp_as_path_length. Для production-среды выделите 512 MB RAM и одно ядро CPU.

Настройка таргетов: откуда bgp_exporter берет данные

Секция targets в конфиге определяет источники данных. Используйте RIS Live коллекторы, публичные route-серверы или локальные BGP-сессии.

Пример конфигурации с несколькими таргетами для лучшего покрытия:

targets:
  - rrc00.ripe.net
  - rrc21.ripe.net  
  - route-views.oregon-ix.net
  - route-server.ip-plus.net
params:
  timeout: 15s
  interval: 60s

Таймаут 15 секунд и интервал опроса 60 секунд обеспечивают баланс между актуальностью данных и нагрузкой на сеть. Для мониторинга критичных префиксов добавьте минимум три географически распределенных таргета.

Создание правил алертинга в Prometheus и дашбордов в Grafana

Готовые правила алертинга превращают собранные метрики в действия. Эти конфигурации работают с Prometheus 2.45+ и Alertmanager 0.25+.

Правила для Prometheus: алерты на исчезновение префиксов и утечки

Создайте файл /etc/prometheus/rules/bgp_alerts.yml с группами правил.

groups:
- name: bgp_monitoring
  rules:
  - alert: BGPPrefixWithdrawn
    expr: avg_over_time(bgp_upstream_announcements{prefix="193.0.1.0/24"}[2m]) == 0
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: "Префикс {{ $labels.prefix }} исчез из BGP таблицы"
      description: "Префикс {{ $labels.prefix }} не анонсируется в течение 2 минут. Проверьте маршрутизаторы и upstream-провайдеров."

  - alert: BGPRouteLeakDetected
    expr: changes(bgp_as_path{prefix="193.0.1.0/24"}[5m]) > 2
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "Обнаружена возможная утечка маршрута для {{ $labels.prefix }}"
      description: "AS-PATH для префикса {{ $labels.prefix }} изменился более 2 раз за 5 минут. Проверьте фильтрацию на граничных маршрутизаторах."

  - alert: BGPUnexpectedASN
    expr: bgp_as_path{prefix="193.0.1.0/24", asn!="12345"} > 0
    for: 30s
    labels:
      severity: critical
    annotations:
      summary: "Префикс {{ $labels.prefix }} анонсируется с неизвестного ASN {{ $labels.asn }}"
      description: "Обнаружен анонс вашего префикса с чужого ASN. Немедленно проверьте конфигурацию BGP и свяжитесь с провайдерами."

Пороговые значения и длительность срабатывания предотвращают ложные алерты при кратковременных флуктуациях. Настройте интеграцию с Slack или Telegram через Alertmanager. В нашем руководстве по развертыванию системы мониторинга с нуля вы найдете готовые конфигурации для оповещений.

Дашборд Grafana для визуального контроля маршрутизации

Создайте дашборд с ключевыми графиками для контроля состояния маршрутизации.

Добавьте панель статуса анонсов по всем upstream-провайдерам. Используйте Stat visualization с цветовой индикацией: зеленый - префикс анонсируется, красный - отсутствует. Панель истории изменений AS-PATH показывает динамику пути за последние 24 часа. График в виде временного ряда помогает выявить паттерны проблем.

Карта видимости префиксов на основе геолокации коллекторов дает понимание региональных проблем. Этот дашборд полезен для отчетов и расследования инцидентов. Экспортируйте готовый дашборд в JSON для быстрого развертывания в вашей инфраструктуре.

Сравнение и выбор стратегии: что использовать в вашем случае

Выбор инструментов зависит от ваших задач: быстрая проверка, production-мониторинг или глубокий аудит.

BGPStream vs RIS Live vs своя сборка: плюсы, минусы и overhead

BGPStream обеспечивает простоту использования и доступ к историческим данным. Задержка обновления - 5-10 минут. Он покрывает основные коллекторы, но может пропускать редкие события. Сложность настройки минимальная, нагрузка на CPU незначительная.

RIS Live предоставляет данные в реальном времени с задержкой 1-2 минуты. Покрытие включает все коллекторы RIPE NCC. Настройка требует обработки WebSocket-потока. Нагрузка на сеть выше из-за постоянного соединения.

Собственная сборка данных с BGP-сессий дает максимальную точность и контроль. Задержка определяется вашей инфраструктурой. Это решение требует экспертизы в настройке маршрутизаторов и значительных ресурсов для обработки.

Для большинства production-сценариев bgp_exporter с RIS Live обеспечивает оптимальный баланс между актуальностью данных и сложностью поддержки.

Интеграция в DevOps-практики и production-среду

Добавьте проверку состояния BGP в health-checks вашего сервиса. Если префикс недоступен из ключевых точек, маркируйте инстанс как unhealthy. Это предотвратит отправку трафика на проблемные узлы.

Используйте метрики BGP для автоматического переключения трафика при проблемах с основным каналом. Настройте failover на основе показателя bgp_upstream_announcements. Включите алерты по BGP в общий процесс реагирования на инциденты (Incident Response).

Перед выкаткой изменений в BGP-конфигурации протестируйте их в стейджинг-среде. Добавьте в CI/CD скрипт проверки корректности анонсов. Это предотвратит ошибки, которые могут привести к простою. В статье о диагностике динамической маршрутизации вы найдете готовый docker-compose для тестового стенда.

Для быстрой проверки используйте Looking Glass и BGPStream. Для production-мониторинга разверните связку bgp_exporter + Prometheus. Для аудита и расследований применяйте RIPE Stat. Такой подход покрывает все сценарии работы с маршрутизацией.

Автоматизация мониторинга BGP экономит время специалистов и снижает риски простоя сервисов. Начните с настройки bgp_exporter для ключевых префиксов, затем расширяйте покрытие по мере необходимости. Регулярно проверяйте актуальность правил алертинга и обновляйте версии инструментов.

Для мониторинга других аспектов инфраструктуры ознакомьтесь с руководством по построению отказоустойчивого мониторинга в Kubernetes и настройке Prometheus и Grafana для распределенных систем.

Поделиться:
Сохранить гайд? В закладки браузера