Мультирегіональний моніторинг доступності: коли одного регіону замало
Уявіть: користувачі з Токіо скаржаться на таймаути, з Франкфурта — на повільне завантаження, а ваш сервер у США стабільно повертає 200 OK. Причина — в регіональних мережевих маршрутах: BGP-баги на межі AS, CDN-кеш, який не оновився в конкретному PoP, або локальний DNS-спуфінг. Без мультирегіонального моніторингу ви не дізнаєтеся, що 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 збирає метрики через федерацію.
# 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 через федерацію або 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 — це скорочує час діагностики вдвічі.
Які метрики збирати і чому це важливо?
Ми рекомендуємо збирати 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.
Що входить у налаштування мультирегіонального моніторингу під ключ
- Аудит поточної інфраструктури та географії користувачів.
- Вибір оптимальних точок моніторингу (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% витрат на інфраструктуру простою. Зв'яжіться з нами для розрахунку — дізнайтеся, як мультирегіональний моніторинг покращить ваш сервіс.
Згідно з офіційною документацією BGP, маршрутизація між автономними системами може суттєво впливати на затримки. Наш досвід підтверджує: 80% проблем виявляються саме на межі мереж.







