跳转到内容
搜索文档

监控等待室状态

最后更新 查看 MarkdownAgent 设置

您可以使用仪表板API 监控等待室的状态。

请注意,仪表板以及 API 端点显示的 Total active users(活跃用户总数)Queued users(排队用户) 是估计值。与这些指标对应的每个数据在从全球所有数据中心同步所需时间之后,会缓存约 30 秒。因此,状态将在过去 20-50 秒之间变化,具体取决于查询、聚合数据的确切时刻以及缓存的年龄。

有关通过等待室的流量的更多详细信息,请参考 Waiting Room Analytics

仪表板中的状态

打开 Waiting Room(等候室) 仪表板以查看您的等待室列表。

Status(状态) 列显示等待室的当前状态:

  • Not queueing(未排队)
    • 等待室已启用,但尚未达到将访问者发送到等待室的流量阈值。
    • 显示应用程序中用户的估计数量。
  • Queueing(排队中)
    • 等待室已启用并将访问者发送到等待室。
    • 显示队列中用户的估计数量。
    • 悬停时,显示用户预期的最长等待时间。
  • Disabled(已禁用):等待室已暂停。
  • Queue-all(全部排队)
    • 强制所有流量在等待室排队。
    • 悬停时,显示队列中用户的估计数量。

API 中的状态

通过将以下端点附加到 Cloudflare API 基础 URL,检查在配置的等待室中是否有流量排队

Required API token permissions

At least one of the following token permissions is required:
  • Waiting Rooms Read
  • Waiting Rooms Write
Get waiting room statusbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/waiting_rooms/$WAITING_ROOM_ID/status" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

响应是:

  • queueing 如果访问者当前正在等待室排队。
  • not_queueing 如果房间为空或等待室已暂停。

要检查配置的等待室是否暂停或流量是否强制排队到等待室,请将以下端点附加到 Cloudflare API 基础 URL。

Required API token permissions

At least one of the following token permissions is required:
  • Waiting Rooms Read
  • Waiting Rooms Write
Waiting room detailsbash
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 的值指示等待室是激活还是暂停:

  • false:等待室已激活。
  • true:等待室已暂停。

queue_all 的值指示是否强制所有流量在等待室排队:

  • false:仅当流量超过配置的阈值时,访问者才会被转移到等待室。
  • true:强制所有流量在等待室排队,并且没有流量从等待室传递到源站。

排队激活

等待室在数据中心级别对流量进行排队,以增加可扩展性,让每个数据中心独立做出决策。

由于这种设计,等待室配置的流量限制是目标值,您的等待室将努力使您的流量接近这些值。在等待室达到 new_users_per_minutetotal_active_users 限制之前,等待室可能会对来自特定数据中心的流量进行排队。

等待室还在每一分钟内不断监控进入用户的速率,而不仅仅是在一分钟结束时。因此,如果您的一分钟开始时,已经加入很大一部分的设置的 new_users_per_minute 值,我们可能会开始对用户进行排队,即使用于该分钟达到的整体 new_users_per_minute 值未命中。

为了帮助防止等待室主动排队,请增加 new_users_per_minute 和/或 total_active_users 的值。有关等待室如何做出排队决策的更多信息,请查看我们的博客文章

这篇文档对您有帮助吗?