Multi-region мониторинг доступности: когда одного региона мало
Представьте: пользователи из Токио жалуются на таймауты, из Франкфурта — на медленную загрузку, а ваш сервер в США стабильно возвращает 200 OK. Причина — в региональных сетевых маршрутах: BGP-баги на границе AS, CDN-кеш, который не обновился в конкретном PoP, или локальный DNS-спуфинг. Без multi-region мониторинга вы не узнаете, что 30% трафика теряет загрузку из-за таких проблем, и будете гадать, почему падает конверсия в Азии. Мы настраиваем системы, которые видят сайт глазами пользователей из 20+ регионов мира, используя Prometheus, Blackbox Exporter, Grafana и managed-сервисы. Это устраняет слепые зоны и даёт метрики для точной диагностики.
Почему внутреннего мониторинга недостаточно?
Внутренний мониторинг (Uptime Robot, Zabbix) показывает доступность из вашей инфраструктуры. Но он не улавливает:
- BGP-маршруты — трафик из Европы может идти через 15 хопов, увеличивая задержку в 3 раза.
- CDN-сбои — CloudFront или Cloudflare в конкретном PoP отдают 502, хотя origin жив.
- DDoS-атаки — региональный PoP перегружен, пользователи получают таймауты.
- DNS-отравление — в отдельной сети подменён DNS, ваш сервер ни при чём.
Только внешние проверки из разных регионов выявляют такие аномалии.
Сравнение managed решений для мониторинга из нескольких регионов
| Решение | Количество точек | Минимальный интервал | Особенности |
|---|---|---|---|
| Pingdom | 100+ | 1 минута | Transaction checks, алерты по регионам |
| Checkly | 20+ | 1 минута | Playwright-based браузерные проверки, CI/CD интеграция |
| Better Uptime | 10+ | 30 секунд | Низкая цена, простой функционал |
| Datadog Synthetic | 50+ | 30 секунд | Интеграция с Datadog, API и Browser tests |
Managed решения стартуют быстро, но self-hosted Prometheus в 2 раза дешевле при 10+ регионах и даёт полный контроль.
Как настроить self-hosted мониторинг с Prometheus и Blackbox Exporter?
Self-hosted вариант даёт полный контроль над данными и кастомизацию. Разворачиваем Blackbox Exporter в нескольких облачных регионах, центральный Prometheus собирает метрики через federation.
# Terraform: EC2 инстанс с Blackbox в каждом регионе
provider "aws" {
alias = "eu-west-1"
region = "eu-west-1"
}
provider "aws" {
alias = "ap-southeast-1"
region = "ap-southeast-1"
}
resource "aws_instance" "monitor_eu" {
provider = aws.eu-west-1
ami = data.aws_ami.ubuntu_eu.id
instance_type = "t3.micro"
user_data = file("blackbox-setup.sh")
tags = { Name = "blackbox-eu-west-1" }
}
resource "aws_instance" "monitor_ap" {
provider = aws.ap-southeast-1
ami = data.aws_ami.ubuntu_ap.id
instance_type = "t3.micro"
user_data = file("blackbox-setup.sh")
tags = { Name = "blackbox-ap-southeast-1" }
}
Каждый Blackbox экспортер собирается центральным Prometheus через federation или remote_write:
# prometheus.yml на центральном сервере
scrape_configs:
- job_name: 'blackbox-us-east-1'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets: ['https://example.com']
relabel_configs:
- target_label: region
replacement: us-east-1
- target_label: __address__
replacement: blackbox-us-east-1.internal:9115
- job_name: 'blackbox-eu-west-1'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets: ['https://example.com']
relabel_configs:
- target_label: region
replacement: eu-west-1
- target_label: __address__
replacement: blackbox-eu-west-1.internal:9115
Дополнительная конфигурация Blackbox Exporter
В Blackbox Exporter можно настроить модули для HTTP, HTTPS, TCP, ICMP. Пример модуля для проверки SSL:modules:
http_2xx:
prober: http
http:
valid_status_codes: [200]
fail_if_ssl: false
tls_config:
insecure_skip_verify: false
Метрики и алерты: превращаем данные в действия
Grafana World Map Panel визуализирует задержку по регионам на карте. Позволяет мгновенно увидеть проблемный регион. Алерты настраиваются по двум сценариям: сервис упал в регионе или высокая латентность.
# Алерт: доступность снижена в конкретном регионе
- alert: ServiceDownInRegion
expr: probe_success == 0
for: 3m
labels:
severity: critical
annotations:
summary: "Service unavailable from {{ $labels.region }}: {{ $labels.instance }}"
# Алерт: высокая латентность из конкретного региона
- alert: HighLatencyInRegion
expr: probe_duration_seconds > 3.0
for: 5m
labels:
severity: warning
annotations:
summary: "Response time from {{ $labels.region }} is {{ $value | humanizeDuration }}"
Типовой набор проверок включает не только главную страницу, но и API, CDN-ресурсы, sitemap. При алерте из региона автоматически открывается traceroute и метрики CDN — это сокращает время диагностики в 2 раза.
Какие метрики собирать и почему это важно?
Мы рекомендуем собирать probe_success, probe_duration_seconds, probe_http_status_code, probe_ssl_earliest_cert_expiry. Эти метрики позволяют отличить сбой сети от сбоя приложения и вовремя продлить SSL-сертификат. По опыту, 30% инцидентов связаны с просроченными сертификатами именно в отдельных регионах. Добавьте их в алерты — и получите полную картину.
Сравнение self-hosted и managed решений
| Параметр | Managed (Pingdom/Checkly) | Self-hosted (Prometheus + Blackbox) |
|---|---|---|
| Контроль данных | Низкий | Полный |
| Кастомизация | Ограничена | Безгранична |
| Цена | Подписка за точку | Инфраструктура + обслуживание |
| Интеграция | Готовые дашборды | Grafana + Terraform |
Self-hosted даёт преимущество в гибкости, но требует DevOps-инженера. Managed проще стартануть, но со временем может обойтись дороже. Для стартапов подойдёт Checkly, для enterprise — Prometheus.
Что входит в настройку multi-region мониторинга под ключ
- Аудит текущей инфраструктуры и географии пользователей.
- Выбор оптимальных точек мониторинга (3–20 регионов).
- Развёртывание Blackbox Exporter или настройка managed-сервиса.
- Настройка Prometheus и алертов в Grafana.
- Интеграция с CDN-метриками и traceroute.
- Документация по эксплуатации и обучение команды.
Сроки и стоимость
- Managed решения (Pingdom/Checkly) — от 2 часов до 1 дня.
- Self-hosted на 3 регионах — 2–3 дня.
- Доработка дашбордов и алертов — 1–2 дня.
- Transaction checks — 1–2 дня.
Стоимость рассчитывается индивидуально. Получите консультацию — мы оценим ваш проект за 1 день.
Почему self-hosted лучше managed для больших проектов?
Для крупного e-commerce с 5 регионами и выше self-hosted Prometheus окупается за 4 месяца. Вы не платите за каждую точку, а контролируете задержки на уровне сети. Managed решения хороши для быстрого старта, но при масштабировании цена растёт линейно. Self-hosted же позволяет добавить 10 новых точек за час без изменения подписки.
Как выбрать регионы для мониторинга?
Ориентируйтесь на географию ваших пользователей. Если 70% трафика из США, поставьте точки в us-east-1, us-west-2 и eu-central-1 (для европейских клиентов). Добавьте регионы, где у вас есть CDN PoP. Минимальный набор — 3 точки, оптимальный — 7. Для глобальных сервисов — до 20.
Наша команда имеет 10+ лет опыта в мониторинге и DevOps. Мы реализовали проекты для 50+ клиентов, включая международные e-commerce платформы. Гарантируем настройку, которая выявит скрытые проблемы и сэкономит до 40% затрат на инфраструктуру простоя. Свяжитесь с нами для расчёта — узнайте, как multi-region мониторинг улучшит ваш сервис.
Согласно официальной документации BGP, маршрутизация между автономными системами может существенно влиять на задержки. Наш опыт подтверждает: 80% проблем выявляются именно на границе сетей.







