查询任务日志
按时间区间、Pod、关键字等条件查询某个分布式训练任务的容器日志,常用于排查训练异常、跟踪运行进度。可先调用查询日志 Pod 名称列表拿到候选 podName,再用本接口拉取对应 Pod 的日志行;若需整段下载请改用下载任务日志。
GET
https://api.alayanew.com/v1/training/instance/{id}/logs鉴权(Authorizations)
bearerAuthAuthorizationString必填用户可通过已获取的 Open API Key 做验证。例如:Bearer [YOUR_API_KEY]。
Path Parameters
idString必填训练任务 ID(来自任务列表的 id)。例如:1234567890。
Query Parameters
namespaceString必填日志所在的命名空间,必填。例如:default。
podNameStringPod(节点)名称,可选。不传则查询任务下全部 Pod。取值可由查询日志 Pod 名称列表获取。例如:tn-exqr5k7lvj7k-master-0。
containerNameString容器名称,可选。同一 Pod 内有多个容器时用于精确定位。例如:tn-exqr5k7lvj7k-master-0。
startTimeInteger查询起始时间,纳秒时间戳(int64)。例如:1762837000000000000。
endTimeInteger查询结束时间,纳秒时间戳(int64),需大于 startTime。例如:1762837999000000000。
limitInteger返回日志条数上限。例如:500。
filterString按日志内容过滤(包含匹配),仅返回包含该子串的行。例如:ERROR。
directionString日志排序方向:forward 从旧到新、backward 从新到旧。例如:forward。
Response
application/json · 200statusInteger业务状态码,200 表示成功。
messageString接口响应信息。例如:"OK"。
dataArray日志行列表,每个元素为一条日志记录。
显示 properties
timestampString日志产生时间,纳秒时间戳(字符串形式)。例如:"1762837199838553596"。
logString日志正文内容。例如:"[INFO] Line 000100 - training step done"。
podNameString产生该行日志的 Pod 名称。例如:"tn-exqr5k7lvj7k-master-0"。
curl -X 'GET' \
'https://api.alayanew.com/v1/training/instance/1234567890/logs?namespace=default&podName=tn-exqr5k7lvj7k-master-0&startTime=1762837000000000000&endTime=1762837999000000000&limit=500&filter=ERROR&direction=forward' \
-H 'accept: application/json' \
-H 'Authorization: Bearer [YOUR_API_KEY]'import requests
task_id = "1234567890"
url = f"https://api.alayanew.com/v1/training/instance/{task_id}/logs"
params = {
"namespace": "default",
"podName": "tn-exqr5k7lvj7k-master-0",
"startTime": 1762837000000000000,
"endTime": 1762837999000000000,
"limit": 500,
"filter": "ERROR",
"direction": "forward"
}
headers = {
"accept": "application/json",
"Authorization": "Bearer [YOUR_API_KEY]"
}
response = requests.get(url, params=params, headers=headers)
print(response.json())const taskId = '1234567890';
const params = new URLSearchParams({
namespace: 'default',
podName: 'tn-exqr5k7lvj7k-master-0',
startTime: '1762837000000000000',
endTime: '1762837999000000000',
limit: '500',
filter: 'ERROR',
direction: 'forward'
});
fetch(`https://api.alayanew.com/v1/training/instance/${taskId}/logs?${params}`, {
method: 'GET',
headers: {
'accept': 'application/json',
'Authorization': 'Bearer [YOUR_API_KEY]'
}
})
.then(res => res.json())
.then(console.log)
.catch(console.error);{
"status": 200,
"message": "OK",
"data": [
{
"timestamp": "1762837199838553596",
"log": "[INFO] Line 000100 - training step done",
"podName": "tn-exqr5k7lvj7k-master-0"
}
]
}{
"status": 403,
"message": "Forbidden",
"data": {}
}{
"status": 500,
"message": "Internal Server Error",
"data": {}
}最后更新于
