跳转到主要内容
Python SDK 提供日志查询和下载能力,适用于自动化排查训练任务、通用服务和大模型推理服务的运行问题。使用本文示例前,请先完成 安装并初始化。

查询用户日志

用户日志来自容器标准输出和标准错误。SDK 提供两类接口:
  • client.logs.query():直接按 Pod 名称查询,适合已知 Pod 名称的场景。
  • client.tasks.query_logs()、client.generalsvc.query_logs()、client.inference.query_logs():按业务对象 ID 查询,SDK 自动关联 Pod。

按 Pod 查询日志

分页查询:
查询参数如下: 响应字段如下: 如果 pods 为空,SDK 会抛出 ValueError。

按业务对象查询日志

按业务对象查询时,SDK 会自动关联该对象下的 Pod。
高层日志接口参数如下: 如果根据业务对象 ID 未关联到 Pod,查询接口返回空日志列表。

按时间和关键词查询

下载用户日志

需要保存排查记录时,可以将日志下载到文件。

按业务对象下载

通用服务和大模型推理服务也支持同样的高层下载接口:

按 Pod 流式下载

写入文件:
不传 file_path 时,SDK 会在当前目录自动生成日志文件名。file_path 不能是目录;如果目标文件已存在,应确保文件为空或改用新文件。 下载参数如下:

查询系统日志

系统日志来自工作负载 Pod 的 Kubernetes 事件,适合排查调度、拉取镜像、启动、驱逐、OOM 等平台侧问题。它与用户日志不同:用户日志是容器输出,系统日志是 Pod 生命周期事件。

按 Pod 查询系统日志

按时间范围查询:
系统日志底层接口参数如下: 系统日志响应字段如下:

按业务对象查询系统日志

系统日志高层接口也支持 start 和 end 参数。如果根据业务对象 ID 未关联到 Pod,接口返回空系统日志列表。 当前系统日志接口不支持按容器、工作负载名称、工作负载类型、关键词、分页或下载查询。

请求限制

日志查询与下载接口存在并发和请求次数限制。自动化脚本应控制轮询频率;如果返回请求过多或服务繁忙,请按响应中的重试建议退避后再请求。

相关文档