Блог и новости

Запуск проверки параллельно в нескольких регионах

Блог Новости Проверки
Земной шар и логотип Pingera - параллельные проверки
В современном мире глобальных сервисов и распределенных нагрузок уже недостаточно просто знать, что ваш сайт «доступен». Критически важно понимать, как быстро и стабильно он работает для пользователей в разных уголках планеты. Задержка в одном регионе может стать потерей клиента.
Именно для решения этой задачи мы в Pingera представляем значительное обновление наших возможностей мультирегионального мониторинга: Параллельное выполнение проверок.

Какую проблему решают параллельные проверки?

Раньше, если вы выбирали несколько географических регионов для одной проверки, мы выполняли ее в случайном регионе из вашего списка в каждый интервал. Например, если вы выбрали Москву, Европу и США, то в 12:00 проверка могла запуститься в Москве, в 12:05 — в Европе, а в 12:10 — в США.
В этом подходе есть два существенных недостатка:
  1. Неполная картина доступности: Если в одном регионе возникла проблема (например, из-за локального сбоя у провайдера или маршрутизации), вы узнаете об этом только тогда, когда случайный выбор падет на этот регион. До этого момента вы работаете в неведении, полагая, что все в порядке.
  2. Проблема с алертингом: Чтобы собрать достаточно данных для надежного алерта о глобальном сбое, требовалось несколько интервалов проверки, поскольку мы ждали, пока система попробует запустить проверку в нужном регионе несколько раз.
Новый режим параллельного выполнения решает эти проблемы. Теперь вы можете запустить одну и ту же проверку одновременно из всех или из заданного количества выбранных регионов. Это дает вам:
  • Мгновенный срез глобальной производительности: За один цикл вы получаете данные о времени отклика из всех ключевых для вас географических точек.
  • Четкое разделение: региональный сбой vs. глобальная катастрофа: Вы сразу видите, является ли проблема локальной или затронула весь сервис.

Настройка параллельного выполнения в веб-интерфейсе

Для включения новой функции перейдите к настройке любой проверки (HTTP, ICMP или Синтетической) и выберите несколько регионов. Ниже появится новый переключатель "Параллельное выполнение".
Настройка регионов для проверки в Pingera с параллельным выполнением
Вы можете выбрать один из двух режимов:
  • Все регионы одновременно: Проверка будет запущена из каждого выбранного региона в один и тот же момент.
  • Случайные N регионов: Проверка запустится одновременно из заданного количества случайно выбранных регионов.

Настройка через API и Infrastructure as Code

Для автоматизации и интеграции в ваши CI/CD-пайплайны вы можете использовать наш API или инструменты IaaC. Параллельное выполнение контролируется через параметр multi_region_execution в объекте parameters.

1. Выполнение во всех регионах

Для запуска проверки одновременно во всех указанных регионах, установите enabled: true и execution_mode: "all":
{
  "name": "Global API Monitor",
  "type": "web",
  "url": "https://api.example.com",
  "interval": 300,
  "parameters": {
    "regions": ["RU, Moscow", "EU, West", "US, East Coast"],
    "multi_region_execution": {
      "enabled": true,
      "execution_mode": "all" 
    }
  }
}

2. Выполнение в случайных N регионах

Чтобы запустить проверку в случайно выбранном подмножестве регионов (например, в 2 из 5), используйте execution_mode: "random_n" и укажите count:
{
  "name": "Sample Regional Monitor",
  "type": "web",
  "url": "https://api.example.com",
  "interval": 300,
  "parameters": {
    "regions": ["RU, Moscow", "EU, West", "US, East Coast", "Asia, Tokyo", "AU, Sydney"],
    "multi_region_execution": {
      "enabled": true,
      "execution_mode": "random_n",
      "count": 2 
    }
  }
}

Детализация в интерфейсе и CLI

Результаты параллельных проверок группируются. Это позволяет вам увидеть общий статус и детализацию по каждому региону в рамках одного запуска.
Результат паралелльного выполнения проверки в нескольких регионах в Pingera

Вывод результатов в CLI

Для инженеров, использующих CLI для получения результатов, вывод теперь включает детализацию по регионам. Вот как может выглядеть консольный вывод для параллельной проверки, запущенной в трех регионах:
$ pngr checks run custom --type icmp --host 1.1.1.1 --parameters '{"regions": ["EU, West", "RU, Moscow"], "multi_region_execution": {"enabled": true, "execution_mode": "all"}}'
╭─────────────────────────────── ✅ Check Queued ───────────────────────────────╮
│                                                                               │
│  On-demand check queued successfully!                                         │
│  Job ID: xa0ighz87pq8                                                         │
│  Type: icmp                                                                   │
│  Host: 1.1.1.1                                                                │
│                                                                               │
│  Waiting for result...                                                        │
│                                                                               │
╰───────────────────────────────────────────────────────────────────────────────╯

Multi-Region Execution Result
• Job ID: xa0ighz87pq8
• Status: ✅ completed
• Regions: 2

Aggregated Statistics:
• Completed: 2 / Failed: 0
• Response Time: Avg: 7ms, Min: 7ms, Max: 7ms


                   Regional Results                   
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Region     ┃ Status ┃ Response Time ┃ Result ID    ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ RU, Moscow │ ok     │ 7ms           │ pfmb65wdmu92 │
│ EU, West   │ ok     │ 7ms           │ tnutrxoxgct1 │
└────────────┴────────┴───────────────┴──────────────┘

💡 To see detailed results for a specific region, use:
   pngr checks results --result-id <result_id>

Гибкий алертинг на основе групп выполнения

С появлением параллельных проверок мы также обновили логику алертинга, сделав ее более гранулированной. Теперь вы можете настроить, при каком количестве региональных неудач сработает оповещение.
Вы можете выбрать один из четырех режимов оценки алертов:
  1. Любой регион (ANY_REGION): Алерт срабатывает, если хотя бы в одном регионе произошла неудача. Идеально для критически важных сервисов, где важна доступность в любой точке.
  2. Все регионы (ALL_REGIONS): Алерт срабатывает, только если все регионы завершились неудачей. Помогает отфильтровать региональные проблемы и уведомить только о полном отказе сервиса.
  3. Большинство регионов (MAJORITY): Алерт срабатывает, если более 50% регионов завершились неудачей. Сбалансированный подход для снижения шума.
  4. Определённое количество (SPECIFIC_COUNT): Алерт срабатывает, если N или более регионов завершились неудачей.
Важно: Для всех режимов сохраняется логика последовательных неудач. Если вы настроили алерт на 3 последовательных неудачи в режиме MAJORITY, он сработает, только если в трех группах выполнения подряд более 50% регионов будут неуспешными.
Обратите внимание на тарификацию: При параллельном выполнении кредиты списываются за каждое выполнение в каждом регионе отдельно. Например, синтетическая проверка (10 кредитов) в 5 регионах спишет 50 кредитов. Это цена за полноту и актуальность глобальных данных.

Заключение

Параллельное выполнение проверок — это ключевое обновление, которое выводит ваш мониторинг доступности и производительности на качественно новый уровень. Вы получаете не только более быструю и полную картину состояния вашего сервиса по всему миру, но и гибкий инструмент для настройки алертинга, который соответствует вашим SLA. Начните использовать его уже сегодня для лучшего контроля над вашим внешним периметром!
Готовы попробовать? Создайте или отредактируйте свою первую параллельную проверку в app.pingera.ru!