Мультирегіональний моніторинг доступності: коли одного регіону замало
Уявіть: користувачі з Токіо скаржаться на таймаути, з Франкфурта — на повільне завантаження, а ваш сервер у США стабільно повертає 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% проблем виявляються саме на межі мереж.







