YOLO Vision 2026:

监控#

Ultralytics Platform 提供已部署端点的监控。通过自动轮询追踪请求指标、查看日志并检查健康状态。

Ultralytics Platform Deploy Page Overview Cards And World Map

部署仪表板#

侧边栏中的 Deploy 页面充当所有部署的监控控制面板。它将世界地图、概览指标和部署管理融于同一个视图中。有关创建和管理部署的内容,请参阅专用端点

graph TB
    subgraph Dashboard
        Map[World Map]:::proc --- Cards[Overview Cards]:::proc
        Cards --- List[Deployments List]:::decide
    end
    subgraph "Per Ready Deployment"
        Metrics[Metrics Row]:::out
        Health[Health Check]:::out
        Logs[Logs Tab]:::out
        Code[Code Tab]:::out
        Predict[Predict Tab]:::out
    end
    List --> Metrics
    List --> Health
    List --> Logs
    List --> Code
    List --> Predict

    classDef proc fill:#2196F3,color:#fff
    classDef decide fill:#FF9800,color:#fff
    classDef out fill:#9C27B0,color:#fff

概览卡片#

页面顶部的四个摘要卡片显示:

Ultralytics Platform Deploy Page Four Overview Cards

指标描述
总请求数 (24小时)所有端点的总请求量
活跃部署当前处于 Ready 状态的端点
错误率 (24小时)返回状态码为 4xx 或 5xx 的响应占比,按请求量加权
P95 延迟 (24小时)每小时第 95 百分位延迟的平均值,按流量加权

之所以报告 P95 延迟而非中位数延迟,是因为健康检查在几毫秒内即可返回,否则会主导真实推理延迟的情况。

错误率警报

当错误率超过 5% 时,错误率卡片会以红色高亮显示。请检查各个部署上的 Logs 选项卡以诊断错误。

世界地图#

交互式世界地图显示:

  • 区域固定点(适用于所有 42 个可用区域)
  • 针对具有就绪部署的区域显示 Green pins
  • 正在进行部署的区域的动画蓝色图钉
  • 图钉大小根据部署状态和延迟而变化

点击任意区域以打开 New Deployment 对话框。该地图在小屏幕上会隐藏。

Ultralytics Platform Deploy Page World Map With Deployed Regions

部署列表#

在概览卡片下方,部署列表显示了你所有项目中的端点。使用视图模式切换开关在以下模式间切换:

查看描述
卡片包含指标、日志、代码和预测选项卡的详细信息卡片
紧凑包含关键指标的较小卡片网格(1-4 列)
表格带有可排序数据列的表格:名称、区域、状态、请求数、P95、错误数
实时更新

仪表板会自动刷新,当部署处于过渡状态(creatingdeployingstopping)时更新速度更快。点击刷新按钮可立即更新。

单次部署指标#

每个部署卡片(在卡片视图中)都会显示实时指标。下面描述的指标行、健康检查以及 LogsCodePredict 标签页仅在部署处于 Ready 状态时显示:

指标行#

指标描述
请求数过去 24 小时的请求计数
P95 延迟每小时第 95 百分位延迟的平均值(24小时)
错误率4xx 和 5xx 响应的占比,仅在大于 0 时显示

指标会自动刷新。尚未提供过请求的端点会显示“No traffic yet”,并且仅收集处于 Ready 状态的部署的指标。在部署仪表板上,系统会获取最近 20 个部署的指标。

健康检查#

正在运行的部署显示运行状况检查指示器:

指示器含义
绿色心形健康 — 显示响应延迟
红色心形不健康 — 显示错误消息
旋转图标运行状况检查正在进行中

健康检查在不健康时会自动重试,并在端点响应后停止。点击刷新图标可手动触发健康检查,这同时也兼具在发送流量之前预热缩容到零(scale-to-zero)的端点的作用。

Ultralytics Platform Deployment Card Health Check Healthy With Latency

冷启动容忍度

平台会为健康检查提供额外时间并重试瞬时连接失败,以便缩容到零的端点有时间启动。如果卡片显示“Service starting up...”,请刷新它以加载在此期间完成启动的实例。

日志#

每个部署卡片都包含一个用于查看最近日志条目的 Logs 选项卡:

Ultralytics Platform Deployment Card Logs Tab With Severity Filter

日志条目#

每个日志条目显示:

字段描述
严重性颜色编码条(见下文)
时间戳请求时间(本地格式)
消息日志内容
HTTP 信息状态代码和延迟(如适用)

每个条目都带有颜色编码的严重性条:

级别颜色描述
DEBUG灰色调试消息
INFO蓝色常规请求
WARNING琥珀色非关键问题
ERROR红色失败的请求
CRITICAL红色严重故障

API 接受完整的日志严重性集作为逗号分隔的过滤器:DEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY

UI 显示最近的 20 个条目并隐藏空条目。API 默认每个请求返回 50 个条目(最多 200 个),并返回一个 nextPageToken 用于向后分页。

调试工作流

调查错误时:首先点击 Errors 以过滤出 ERROR 和 WARNING 条目,然后检查时间戳和 HTTP 状态代码。将日志复制到剪贴板以便与你的团队共享。

代码示例#

每个部署卡片都包含一个 Code 标签页,其中显示了填入了端点 URL 的即用型 API 代码。对于工作区所有者,系统会插入该部署绑定的 API 密钥,开箱即可复制并运行。非所有者将看到一个 YOUR_API_KEY 占位符:

import requests

# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())
自动填充凭据

在平台中查看 Code 标签页时,系统会为你自动填入端点 URL,并且对于工作区所有者,还会填入该部署的 bound API key。请参阅 API Keys 以生成密钥。

部署预测#

每个部署卡片上的 Predict 选项卡提供了一个内联预测面板——它与模型的 Predict 选项卡具有相同的界面,但通过部署端点运行推理,而不是通过共享服务运行。这对于直接从浏览器测试已部署的端点非常有用。有关参数详情和响应格式,请参阅推理

API 端点#

每个部署都通过其所有者和部署名称进行寻址,并且每个路由都需要一个 API 密钥。有关身份验证的详细信息,请参阅 API reference

部署指标#

GET /api/deployments/{owner}/{deployment}/metrics?range=24h

Python SDK: client.deployments.metrics(owner, deployment, range="24h")

返回部署的完整指标有效负载:一个包含总请求数、错误计数和速率、平均延迟、P50、P95 和 P99 延迟的 summary 块,外加用于请求、错误、P50 和 P95 延迟、CPU 和内存利用率以及实例数的 timeSeries 数组。

参数类型描述
rangestring时间范围:1h6h24h7d30d(默认值为 24h
sparkline布尔值返回紧凑的仪表板摘要,而不是完整的有效负载

使用 sparkline=true 时,响应是部署卡片使用的紧凑形式——24 个小时请求计数以及总请求数、错误率和平均延迟。这就是每 60 秒刷新一次的调用。

部署日志#

GET /api/deployments/{owner}/{deployment}/logs?limit=50&severity=ERROR,WARNING

Python SDK: client.deployments.logs(owner, deployment, limit=50, severity="ERROR,WARNING")

返回带有可选严重性过滤器和分页功能的近期日志条目。

参数类型描述
limitint返回的最大条目数(默认:50,最大:200)
severitystring逗号分隔的严重性过滤器
pageTokenstring来自前一个响应的分页令牌

部署运行状况#

GET /api/deployments/{owner}/{deployment}/health

Python SDK: client.deployments.health(owner, deployment)

Ping 部署并返回其健康状态以及测得的往返延迟:

{
    "healthy": true,
    "status": 200,
    "latencyMs": 142
}

当完全无法联系到端点时,不健康的响应会省略 status,并添加一个 error 消息。

仪表板概览

Deploy 页面上的汇总数据无法通过单个 REST 端点获取。你可以通过调用 GET /api/deployments/{owner} (client.deployments.list(owner)) 返回的每个部署的指标路由来复现它们。

性能优化#

使用监控数据来优化你的部署:

如果延迟过高:

  1. 验证模型大小是否合适
  2. 考虑选择更近的区域
  3. 检查随每个请求发送的图像大小
降低延迟

尝试较小的 imgsz 值,并为你的模型比较产生的延迟和准确率。部署到离调用方更近的区域以减少网络延迟。

常见问题解答#

  • 指标 API 支持从 1 小时到 30 天的可选时间窗口,随着窗口的增长,采样会变得更加粗糙——从 1 小时跨度的 1 分钟桶到 30 天跨度的 4 小时桶。部署卡片显示最近 20 个日志条目;日志 API 每个请求最多可返回 200 个条目并支持分页。

    指标和日志仅在部署存在期间保留,因此删除部署也会终止对其历史记录的访问。在删除端点之前,请导出你需要保留的内容。

  • 可以,部署页面显示所有带有汇总概览卡片的端点。使用表格视图比较各部署之间的性能。

  • 不会。仅收集处于 Ready 状态的部署的指标和健康检查。已停止的端点会保留其卡片和历史记录窗口,但在你重新启动它之前不会显示任何实时数据。

评论