查看日志
在控制台中
打开一个实例,选择日志标签页。该视图保存容器最近的输出,在标签页打开期间每隔几秒刷新一次,并随新行到达自动滚动到最新一行。在实例还没有进入过 running 之前没有任何内容可显示,面板会这样提示你。
你看到的是启动记录,以及容器从那以后打印的所有内容:
[2026-07-24 09:12:03] superheat-agent: pulling image pytorch/pytorch:2.4.0-cuda12.4-cudnn9-runtime
[2026-07-24 09:12:07] superheat-agent: image ready, creating container
[2026-07-24 09:12:09] nvidia-smi: detected 2 GPU(s), driver 570.86
[2026-07-24 09:12:10] sshd: listening on 0.0.0.0:40123
[2026-07-24 09:12:11] superheat-agent: instance is ready
当实例进入 error、JupyterLab 起不来,或者 onstart 脚本没有按你预期执行时,这里是第一个该看的地方。
通过 API
以下示例使用 $SUPERHEAT_API 和 $SUPERHEAT_KEY,请按 API 概览 中的说明设置。
curl -H "Authorization: Bearer $SUPERHEAT_KEY" \
"$SUPERHEAT_API/v1/instances/$INSTANCE_ID/logs?tail=500"
{
"lines": [
"[2026-07-24 09:12:10] sshd: listening on 0.0.0.0:40123",
"[2026-07-24 09:12:11] superheat-agent: instance is ready"
]
}
| 参数 | 取值 |
|---|---|
tail | 返回最近多少行 |
| 范围 | 1 到 1000 |
| 默认值 | 200 |
超出该范围的 tail 会被拒绝,而不是被收敛到边界值,所以想要最大值就直接请求 1000。没有分页,也没有办法往前追溯超过最后 1000 行。接口其余部分的结构见实例。
这些是容器日志
你看到的这些行是容器自己的输出——agent 的开通步骤,以及工作负载写到标准输出或标准错误的内容。范围仅此而已。
它们不是你的应用的日志文件。如果你的训练脚本写入 /workspace/train.log,或者某个框架把文件轮转到 logs/ 目录里,这些都不会出现在这里。请通过 SSH 查看:
tail -f /workspace/train.log
出于同样的原因,基础镜像在磁盘上保留了它自己的两个文件,它们比容器输出流包含更多细节:
| 文件 | 内容 |
|---|---|
/var/log/superheat/jupyter.log | JupyterLab 服务器的输出 |
/var/log/superheat/onstart.log | 模板 onstart 脚本的输出 |
如果你希望自己的进程在控制台视图里可见,让它打印到标准输出,而不是只写进文件。
哪些会保留下来
日志属于实例。停止会保留日志,并追加一行记录容器已停止、磁盘已保留;启动则接着同一条流继续。被销毁的实例会从实例列表中消失,控制台视图也就再也访问不到了——销毁之前先把你需要的内容读出来。参见停止与销毁的对比。