Ultralytics YOLO27:
Get Started

监控#

Ultralytics Platform 为已部署端点提供监控。跟踪端点请求、延迟、错误和日志。使用当前运行时的就绪专用端点还会提供实时预测统计信息和临时示例,你可以检查这些示例并将其保存到数据集中。

Ultralytics Platform 部署选项卡中的世界地图和概览卡片

部署选项卡#

个人资料中的 Deployments 标签页是所有部署的监控控制面板。该页面将世界地图、概览指标和部署管理整合在一起。创建和管理部署,请参阅专用端点。

概览卡片#

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

Ultralytics Platform 部署标签页的四张概览卡片

指标说明
活动部署当前处于 Ready 状态的端点
HTTP 请求数(24 小时)所有端点的 HTTP 请求,包括预测、监控和健康检查请求
HTTP 错误率(24 小时)状态码为 4xx 或 5xx 的响应占比,按请求量加权计算
HTTP P95 延迟(24 小时)按请求量加权计算的每小时第 95 百分位延迟的平均值

报告的是 P95 延迟而非中位延迟,因为健康检查只需几毫秒就会返回,否则会主导实际推理延迟的整体情况。

错误率告警

错误率超过 5% 时,错误率卡片会突出显示为红色。检查各个部署中的 Logs 标签页以诊断错误。

世界地图#

交互式世界地图会显示:

  • 所有 42 个可用区域的区域标记
  • 有就绪部署的区域会显示绿色标记
  • 有活动部署正在进行的区域会显示蓝色动画标记
  • 标记大小会根据部署状态和延迟而变化

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

Ultralytics Platform 部署标签页中显示已部署区域的世界地图

部署列表#

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

视图说明
卡片卡片显示状态、规格、指标、距离和部署日期
紧凑包含关键指标的小卡片网格(1–4 列)
表格包含可排序列的 DataTable,包括 CPU、内存、HTTP 指标和距离
实时更新

该标签页会自动刷新;部署状态发生变化(creating、deploying 或 stopping)时,刷新速度会加快。每张卡片和每一行都链接到对应的部署页面。

单个部署的指标#

每个部署页面都会在 Overview、Monitoring、Predict 和 Logs 标签页上方显示实时指标:

指标卡片#

指标说明
HTTP 请求数(24 小时)请求数,包括预测、监控和健康检查请求
HTTP 错误率(24 小时)4xx 和 5xx 响应占比
HTTP P95 延迟(24 小时)15 分钟 P95 延迟的第 95 百分位数

每张卡片都显示迷你趋势图,并每分钟刷新一次;旁边还有一张链接到已部署模型的卡片。只有处于 Ready 状态的部署才会收集指标。在 Deployments 标签页中,系统会获取最近 20 个部署的指标。

健康检查#

运行中的部署在 Overview 标签页中的 Endpoint 卡片会显示健康检查指示器:

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

端点不健康时,健康检查会自动重试;端点有响应后,重试便会停止。打开部署页面会运行一次健康检查,重新 ping 按钮会触发另一次检查;在发送流量前,你也可以用它预热缩容至零的端点。

Ultralytics Platform 部署卡片:健康检查正常并显示延迟

冷启动容错

Platform 会为健康检查留出额外时间,并在遇到暂时性连接失败时重试,让缩容至零的端点有时间启动。在首次健康检查得到响应之前,徽标会显示 Starting,而 Predict 和 Monitoring 标签页会显示 Endpoint is starting;端点响应后,这些信息会自动更新。如果检查失败,徽标会显示 Not responding,这些标签页则会提供 Retry 选项。

监控标签页#

打开 就绪 状态的专用端点部署页面,然后选择 监控 选项卡。通过其 预测 选项卡或端点 API 发送图像,或让后台摄像头持续运行,即可填充 临时示例 和 预测统计信息。处理第一张图像前,该选项卡会显示 尚未处理图像。

端点适用条件

所有处于 Ready 状态的专用端点都可使用监控功能,包括 Free 计划中的默认规格端点。现有端点不会随着每次运行时发布而自动更新,因此较旧的端点可能会显示 Monitoring unavailable,直到其运行时完成更新。

Ultralytics Platform 部署监控:临时示例和统计信息

临时数据

监控功能轻量且数据是临时的:图表、预测统计信息和示例图像仅存储在服务实例的内存中。端点关闭、停止、重启、重新部署、更改资源或替换模型时,这些数据可能会丢失。端点再次启动时不会恢复历史数据。将有用的示例保存到数据集,并等待数据导入完成后再更改端点。

临时示例#

图库包含近期处理过的图像及其预测叠加层。打开图像即可在全屏查看器中检查预测结果,并使用可见性控件调整叠加层。图库最初最多显示 12 个示例;点击 Show all 可展开图库。

  • 采集:近期处理过的图像会作为临时示例显示,每秒最多一个。采集尽力而为;推理不会等待示例编码完成。
  • 容量:最多可保存 100 张图像,共享 100 MiB 内存预算,用于存储压缩图像、预测元数据和相关资源。界面将此预算标记为 100 MB。
  • 替换:达到任一上限时,较旧的示例会被替换。你查看示例时,该示例可能会变为不可用。
  • 存储:临时示例保留在端点内存中。将示例保存到数据集会占用常规工作区存储空间,并受常规处理限额约束。

Ultralytics Platform 部署监控预测查看器

将示例保存到数据集#

具有内容编辑权限的工作区成员可以将示例保存到端点所在工作区的数据集:

  1. 使用复选框选择单个示例,或点击 Select all。
  2. 点击 Save to dataset。
  3. 选择一个与已部署模型任务相同的现有数据集。不包括连接来源的数据集;如果没有可用数据集,请先创建兼容的数据集。
  4. 点击 Save 按钮;按钮会显示所选图像数量。然后打开数据集以跟踪处理进度。

所选图像和预测结果会通过标准数据集上传和导入工作流进行复制。常规配额、类别映射和重复项处理规则均适用。保存操作不会移除图库中的临时示例;成功导入的数据集图像在端点重启或删除后仍会保留。将预测标签用于训练前,请先检查这些标签。每张保存的图像都会在其自定义元数据中记录 deploymentId、deploymentName、deploymentRegion 和 deploymentRegionName,数据集搜索会匹配这些元数据;名称按保存时的名称记录,而被跳过的重复图像会保留现有元数据。

Ultralytics Platform 部署监控:将示例保存到数据集

要移除临时示例,请使用图像悬停时显示的垃圾桶控件,或选择多个示例并点击批量删除按钮,然后确认 Delete。删除示例不会更改汇总预测统计信息,也不会影响已保存到数据集的图像。

预测统计信息#

统计信息会独立于图库汇总已处理图像的数据。删除或替换示例不会扣除该示例的统计数据。摘要会显示所选时间段内的图像数、预测数和无预测图像数;深度模型则显示图像数。

日期选择器默认设为最近 30 天,并接受最长 365 天的日期范围。所选日期使用 UTC 边界;图表时间戳以本地时间显示。如果最近的日期范围不超过三天,且整个范围都在最近 72 小时内,则使用小时历史数据;其他范围使用每日历史数据。日期范围会筛选统计信息,图库则继续显示当前的临时示例。

历史数据最多保留 72 个小时数据桶和 365 个日数据桶,且仅从当前实例启动后开始提供。所选时间段内没有已处理图像时,会显示 No images processed in this period。

可用图表取决于任务和收集到的预测数据:

图表显示内容
随时间变化的预测数已处理图像数和预测数;深度模型显示 随时间变化的图像数
推理时间模型推理时间的平均值(毫秒),不包括网络和请求开销
热门类别按类别统计的预测数
每张图像的预测数预测数分布,包括没有预测的图像和最后一个 100+ 区间;分类和深度任务中不显示
预测置信度置信度分布和平均值(仅当置信度分数可用时)
随时间变化的置信度每个时间桶内的平均预测置信度
预测尺寸预测框的宽度和高度相对于输入图像的比例(仅当框尺寸可用时)
预测位置预测结果的空间热力图(仅当位置数据可用时)

Ultralytics Platform 部署监控预测统计信息

Ultralytics Platform 部署监控置信度和空间统计信息

解读统计信息

置信度衡量的是模型的确定程度,而非正确性。评估准确率时,请检查示例并与经过审核的标签进行比较。推理时间衡量模型执行所需的时间;部署的P95 延迟包括请求处理时间,也可能反映健康检查等非推理流量。

监控面板打开且可见时会自动刷新;面板滚动到屏幕外或浏览器标签页隐藏时则会暂停。通过部署的 Predict 标签页成功进行推理也会触发统计信息刷新。

日志#

每个部署页面都包含一个 Logs 标签页,可查看最近的日志条目:

Ultralytics Platform 部署卡片日志标签页及严重性筛选器

日志条目#

每条日志都显示:

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

每条日志都有一个彩色编码的严重性指示条:

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

API 接受以逗号分隔的完整日志严重性筛选值:DEBUG、INFO、NOTICE、WARNING、ERROR、CRITICAL、ALERT 和 EMERGENCY。

界面显示最近的 20 条日志,并隐藏空日志。API 默认每次请求返回 50 条(最多 200 条),并返回一个 nextPageToken,用于继续向前翻页。

调试工作流

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

代码示例#

每个部署的 Predict 标签页中的 Docs 结果标签页会显示可直接使用的 API 代码,其中已填入端点 URL;对于工作区所有者,还会填入部署绑定的 API 密钥,可直接复制并运行。非所有者会看到 YOUR_API_KEY 占位符:

import requests

# 部署端点
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# 包含部署 API 密钥的标头
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# 推理参数
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# 发送图像进行推理
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

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

在部署的 Predict 标签页的 Docs 示例中,系统会为你填入端点 URL;对于工作区所有者,也会填入部署的绑定 API 密钥。请参阅 API 密钥以生成密钥。

部署预测#

每个部署页面上的 Predict 标签页都提供内嵌的预测面板——它与模型的 Predict 标签页使用相同的界面,但通过部署端点而非共享服务运行推理。你可以直接在浏览器中测试已部署的端点。有关参数详情和响应格式,请参阅推理。

API 端点#

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

部署指标#

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

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

返回部署的完整指标负载:一个 summary 块,包含请求总数、错误数和错误率,以及平均延迟、P50 延迟、P95 延迟和 P99 延迟;另外还包含 timeSeries 数组,分别对应请求、错误、P50 和 P95 延迟、CPU 和内存利用率以及实例数。

参数类型说明
range字符串时间范围:1h、6h、24h、7d 或 30d(默认值为 24h)
sparkline布尔值返回精简的仪表板摘要,而非完整负载
view字符串overview 仅返回请求、错误和 P95 延迟指标

使用 sparkline=true 时,响应是精简摘要——过去 24 小时的每小时请求数(不包含没有请求的小时),以及请求总数、错误率和 avgLatencyMs(每小时 P95 延迟的平均值)。使用 view=overview 时,summary 包含 totalRequests、errorRate 和 p95LatencyMs,而 timeSeries 包含 requests、errors 和 latencyP95;部署页面上的统计卡片使用此视图并自动刷新。

部署日志#

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

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

返回最近的日志条目,并支持可选的严重性筛选和分页。

参数类型说明
limit整数要返回的最大条目数(默认值:50,最大值:200)
severity字符串以逗号分隔的严重性筛选值
pageToken字符串来自上一个响应的分页令牌

部署健康状态#

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

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

对部署发送 ping 请求,并返回其健康状态及测得的往返延迟:

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

如果完全无法访问端点,不健康响应会省略 status,并添加一条 error 消息。

仪表板概览

Deployments 标签页上的汇总数据无法通过单个 REST 端点获取。你可以针对 GET /api/deployments/{owner}(client.deployments.list(owner))返回的每个部署调用指标路由,以重现这些数据。

性能优化#

使用监控数据优化部署:

如果延迟过高:

  1. 确认模型大小是否合适
  2. 考虑选择距离更近的区域
  3. 检查每个请求发送的图像尺寸
降低延迟

尝试使用较小的 imgsz 值,并比较模型的延迟和准确率。将部署放在更靠近调用方的区域,以降低网络延迟。

常见问题#

  • 预测统计信息和临时示例仅在服务实例的生命周期内保留,并受上述存储桶和图库限制约束。停止、重启、重新部署、调整大小或替换模型都可能清除这些数据。只有成功保存到数据集的示例才会独立于端点而保留。

    运维指标和日志有各自的历史记录时间范围。指标 API 支持从 1 小时到 30 天的可选时间范围,时间范围越长,采样间隔越粗——从 1 小时时间范围内的 1 分钟分桶,到 30 天时间范围内的 4 小时分桶。部署的 Logs 标签页显示最近的 20 条日志;日志 API 每次请求最多可返回 200 条,并支持分页。

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

  • 可以,你个人资料中的 Deployments 标签页会显示所有端点及汇总概览卡片。使用表格视图可比较各部署的性能。

  • 不会。只有处于 Ready 状态的部署才会收集指标和健康检查数据。已停止的端点仍保留其 部署页面和历史记录时间范围,但在重新启动之前不会显示实时数据。

评论