INTEGRITY Документация

Мониторинг статуса зала ожидания

Вы можете отслеживать статус залов ожидания с помощью панель управления или API.

Обратите внимание на Total active users и Пользователи в очереди отображаемые на панели управления, а также через конечные точки API, являются приблизительными. Данные для каждой из этих метрик кэшируются примерно на 30 секунд после синхронизации со всех дата-центров по всему миру. Поэтому статус будет отставать от реального времени на 20 до 50 секунд, в зависимости от момента запроса, агрегации данных и возраста кэша.

См. Аналитика Waiting Room подробнее о трафике, проходящем через ваш зал ожидания.

Статус в панели управления

Откройте Waiting Room панель управления, чтобы посмотреть список ваших залов ожидания.

Статус столбец отображает текущее состояние зала ожидания:

Статус в API

Проверка того, ставится ли трафик в очередь в настроенном зале ожидания добавив следующую конечную точку к базовому URL API Cloudflare:

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Получение статуса зала ожидания
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/waiting_rooms/$WAITING_ROOM_ID/status" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Ответ:

Чтобы проверить, приостановлен ли настроенный зал ожидания или трафик принудительно направляется в очередь, добавьте следующую конечную точку к базовому URL-адресу Cloudflare API.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Сведения о зале ожидания
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/waiting_rooms/$WAITING_ROOM_ID" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Указанная выше конечная точка получает все настройки для настроенного зала ожидания:

      "success": true,
      "errors": [],
      "messages": [],
      "result": {
        "id": "REDACTED",
        "created_on": "2014-01-01T05:20:00.12345Z",
        "modified_on": "2014-01-01T05:20:00.12345Z",
        "name": "shop_waiting_room",
        "description": "Waiting room for webshop",
        "suspended": false,
        "host": "shop.example.com",
        "path": "/shop",
        "queue_all": true,
        "new_users_per_minute": 200,
        "total_active_users": 300,
        "session_duration": 1,
        "disable_session_renewal": false,
        "json_response_enabled": false,
        "queueing_method": "random",
        "cookie_attributes": {
          "samesite": "auto",
          "secure": "auto"
        },
        "custom_page_html": "{{#waitTimeKnown}} {{waitTime}} mins {{/waitTimeKnown}} {{^waitTimeKnown}} Queue all enabled {{/waitTimeKnown}}"
      }

Значение suspended показывает, включён ли Waiting Room или приостановлен:

Значение queue_all показывает, весь ли трафик принудительно направляется в очередь Waiting Room:

Активация очереди

Чтобы повысить масштабируемость, Waiting Room ставит трафик в очередь на уровне дата-центра, и каждый дата-центр принимает решения независимо от остальных.

Из-за особенностей такой архитектуры настроенные лимиты трафика зала ожидания являются целевыми значениями, к которым зал ожидания стремится приблизить объем вашего трафика. Зал ожидания может начать ставить в очередь трафик из определённого дата-центра ещё до того, как будет достигнут лимит в new_users_per_minute или total_active_users.

Кроме того, Waiting Room непрерывно отслеживает скорость входа пользователей на протяжении всей минуты, а не только в её конце. Поэтому если в начале минуты значительная часть заданного вами new_users_per_minute значение уже присоединилось, мы можем начать ставить пользователей в очередь, даже если общий new_users_per_minute значение, достигнутое за эту минуту, не было превышено.

Чтобы снизить вероятность перехода зала ожидания в активную очередь, увеличьте значения new_users_per_minute и/или total_active_users. Подробнее о том, как Waiting Room принимает решения об очереди, читайте в разделе запись в блоге ↗.