一、前提条件
·已创建并运行模型服务。基础流程详见 部署在线推理服务(REST API)。
·启用推理表前,需对目标 Catalog / Schema 拥有 Use Catalog、Use Schema、Create Table 权限。
二、查看运行指标
平台提供两处监控视图,分别位于服务与版本两级页面:
调用监控 (服务详情页 > 服务版本下的页签):按时间范围(近 1 小时、近 24 小时、近 7 天,或自定义起止时间)按调用方式(如 http)展示调用统计(次)。
| 指标 | 说明 |
| 接收请求数 | 服务收到的请求总数。 |
| 成功请求数 | 正常返回的请求数。 |
| 失败请求数 | 返回错误的请求数。 |
| 被限制请求数 | 触发请求限流被拒绝的请求数。 |
监控 (版本详情页 > 实例列表下的页签):按时间范围与 时间粒度 (全部 / 1 分钟等)、按实例查看流量信息。
| 类型 | 指标 | 说明 |
| 流量信息 | 网络流量(MBytes) | 服务实例的网络数据传输下行(入口)流量。反映模型服务的通信负载,突发流量可能预示请求量激增或异常调用,可结合 QPS 一起分析。 |
| 流量信息 | QPS(次 / 秒) | 每秒处理的请求数(Query Per Second),衡量服务吞吐量的核心指标。 |
| 流量信息 | QPS 限流(次 / 秒) | 主动限制每秒最大请求数的机制,超过阈值的请求会被拒绝。 |
| 流量信息 | 并发请求数 | 同一时刻正在处理的请求数量(包括等待和计算中的请求)。 |
| 资源信息 | CPU 使用率(%) | 服务实例的 CPU 资源占用百分比。 |
| 资源信息 | MEM 使用率(%) | 服务实例的内存占用百分比。 |
| 资源信息 | 显存使用率(%) | 服务实例的 GPU 显存使用占用百分比。 |
| 资源信息 | GPU 使用率(%) | 服务实例的 GPU 计算单元负载百分比。 |
| 实例信息 | 实例数量 | 当前配置的服务实例总数(包括启动中、运行中、异常等所有状态)。 |
| 实例信息 | 运行中实例数量 | 实际正常处理请求的实例数。 |
三、查看实例日志
服务创建时如已开启 服务日志投递 (日志服务),即可在 版本详情页 > 实例列表 > 日志 页签查看实例日志。
1. 选择 实例名称 与 时间范围 (如近 24 小时,或自定义起止时间)。
2. 可开启 自动刷新 持续拉取最新日志,开启 日志换行 优化长日志展示。
3. 在搜索框按 完整单词 检索关键字(如错误码、Trace ID)。
实例日志主要用于排查系统级问题(连接超时、模型加载失败、内存溢出)。如需基于请求、响应做特征偏移、效果监控等深度分析,请使用推理表能力。
注意:日志服务默认存储 15 天,长期分析建议同时启用推理表,将明细持久化到 Catalog。
四、通过 SDK 查询实例日志与重启实例
除控制台外,也可通过 MLflow Deployments SDK 在 Notebook / Python 任务中按时间区间分页拉取实例日志、重启异常实例(SDK 接入方式详见 部署在线推理服务)。
按时间区间分页拉取实例日志:
import datetime as dtend = dt.datetime.now(dt.timezone(dt.timedelta(hours=8)))start = end – dt.timedelta(hours=1)ctx = Nonewhile True: resp = client.get_pod_logs( service_id=service_id, pod_name=f"{service_id}-*", # 支持通配符匹配该服务下的实例 limit=200, # 单次条数建议 ≤ 500 start_time=start.isoformat(), # ISO 8601,务必带时区(如 +08:00) end_time=end.isoformat(), context=ctx, # 翻页上下文,来自上次响应 ) for entry in resp["logs"]: print(entry.get("timestamp"), entry.get("pod_name"), entry.get("message")) ctx = resp["context"] if not ctx: # 空字符串表示已到末页 break
重启(重建)指定实例,用于应对内存溢出、健康检查持续失败等异常:
resp = client.restart_pod(service_id=service_id, pod_name="ms-xxxxxx-1abc-xxxx")print(resp["request_id"])
五、查看服务事件
进入 版本详情页 > 实例列表 > 事件 页签,可查看实例底层资源的运行事件,用于排查副本拉起失败、健康检查异常等问题。事件列表字段:
| 字段 | 说明 |
| 首次出现时间 / 最后出现时间 | 该事件首次与最近一次发生的时间。 |
| 级别 | Normal(正常)或 Warning(告警)。 |
| 资源类型 | 触发事件的底层资源类型,可按类型筛选,包括 Pod、Deployment、ReplicaSet、Service、Ingress、Endpoints、HorizontalPodAutoscaler、DistDeployment、PyTorchJob 等。 |
| 资源名称 | 触发事件的具体资源名称(如实例名 ms-xxxxxx-1-xxxx)。 |
| 详细描述 | 事件详情,如 Readiness probe failed、pod group is ready 等。 |
| 出现次数 | 该事件累计发生的次数。 |
可开启 自动刷新 持续拉取最新事件。
注意:事件仅保留最近 15 天内的记录,请尽快查阅。
事件用于排查\\突然变化\\类问题(副本异常退出、健康检查持续失败、扩缩容未生效等),是定位实例级故障的首选入口。
六、服务日志投递及推理表收集
支持将推理服务日志投递至指定的 CLS 中,并且支持开启推理表(Inference Table)收集,将服务的请求 payload 与响应 payload 实时写入 Catalog 中的 Delta 表,作为后续质量监控的事实数据。
七、在新建服务时启用
在新建服务的 高级配置 > 服务日志投递 处打开开关后,配置 CLS 投递:
| 参数 | 说明 | 是否必填 | 默认值 |
| 日志集 | CLS 的日志集,用于投递服务日志。 | 是 | — |
| 日志主题 | CLS 的日志主题,用于投递服务日志。 | 是 | — |
然后开启推理表收集 ,依次配置:
| 参数 | 说明 | 是否必填 | 默认值 |
| Catalog | 推理表所在的 Catalog。下拉中只展示当前账号有 Use Catalog 权限的 Catalog。 | 是 | — |
| Schema | 推理表所在的 Schema。下拉中只展示有 Use Schema 与 Create Table 权限的 Schema。 | 是 | — |
| 表名前缀 | 推理表名称的前缀。填写后表名为 {前缀};未填写时表名默认为 {服务名称}_payload。 | 否 | — |
平台会自动在指定 Catalog / Schema 下创建 Delta 表,并维护字段结构与样例数据。
八、在已运行服务上二次启用、关闭
服务详情页 → 编辑高级配置 :
·新建时未启用 → 编辑时可二次开启。
·新建时已启用 → 编辑时可二次关闭。关闭后历史推理表保留在 Catalog 中,仅停止后续写入。
九、推理表常见字段
平台默认包含的字段:
·请求时间戳。
·请求唯一 ID(Trace ID)。
·输入 payload(JSON)。
·输出 payload(JSON)。
·模型名称、模型版本、服务版本。
具体字段会根据模型类型(分类、回归、深度学习)自动适配。进入 Catalog 中对应表的 概览 页可查看完整 Schema、示例数据与表属性。
十、基于推理表发起质量监控
推理表落库后,可在推理表详情页或数据质量模块中,以推理表为事实表创建质量监控任务(数据漂移、模型效果、公平性等长周期监控)。具体指标与配置方式详见 数据质量。
十一、常见问题
Q:为什么推理表里没有数据?
A:依次确认:① 服务高级配置中推理表开关已打开;② 服务有真实流量进入;③ 当前账号对推理表所在 Catalog / Schema 拥有读权限。如以上都满足仍无数据,进入版本详情页 日志 页签查看是否有 Catalog 写入失败的报错。
Q:日志服务和推理表的区别?
A:日志服务是实时排查工具 ,存放系统级请求、响应日志、保留期较短,不适合长周期分析;推理表是结构化离线事实表 ,存于 Catalog,可被 SQL 查询、可做漂移监控、可作为重训样本来源。
十二、相关文档
·模型服务
·部署在线推理服务(REST API)
·资源配置与自动伸缩
·数据质量
·设置通知渠道