查询日志
功能介绍
该接口用于查询不同维度(例如,集群、IP、应用等)下的日志内容,支持分页查询。
-
分页查询时需要增加三个参数:lineNum(上一次查询出的内容中最后一条日志的序列号)、type(取值"next")和size。
-
category、searchKey、keyWord、startTime、endTime等条件需要保持和第一次查询时相同。
-
如果需要继续分页查询,则修改请求参数中的lineNum为上次查询结果中最后一条日志的lineNum的值即可,以此类推。
URI
POST /v1/{project_id}/als/action
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 租户从IAM申请到的projectid,一般为32位字符串。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| type | 是 | String | 日志接口调用方式,当值为"querylogs"时,接口功能为查询日志内容。 枚举值:
|
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 从IAM获取的用户Project级别Token。 |
| Content-Type | 是 | String | 指定类型为application/json。 枚举值:
|
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| category | 是 | String | 日志类型字段:
枚举值:
|
| searchKey | 否 | SearchKey object | 日志过滤条件集合,不同日志来源所需字段不同。 |
| keyWord | 否 | String |
说明:当前默认分词符有, '";=()[]{}@&<>/:\n\t\r |
| startTime | 是 | Long | 搜索起始时间(UTC时间,毫秒级)。 |
| endTime | 是 | Long | 搜索结束时间(UTC时间,毫秒级)。 |
| lineNum | 否 | String | 日志单行序列号,第一次查询时不需要此参数,后续分页查询时需要使用,可从上次查询的返回信息中获取。 |
| type | 否 | String | 表示此次查询为分页查询,第一次查询时不需要此参数,后续分页查询时需要使用。 枚举值:
|
| pageSize/size | 否 | Integer | 表示每次查询的日志条数,不填时默认为5000,建议您设置为100。 第一次查询时使用pageSize,后续分页查询时使用size。 |
| hideSyslog | 否 | Integer | 搜索时是否隐藏系统日志(icagent\kubectl),默认0为隐藏,1为显示。 枚举值:
|
| isDesc | 否 | Boolean | 标识按照lineNum升序查询还是降序查询。 true:降序(lineNum由大到小:时间从新到老)。 false:升序(lineNum由小到大:即时间从老到新)。 枚举值:
|
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| errorCode | String | 响应码,SVCSTG.ALS.200200代表正常返回。 |
| errorMessage | String | 响应信息描述。 |
| result | LogsResults object | 查询结果元数据信息,包括返回总数及结果。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| category | String | 日志类型。 |
| loghash | String | 日志来源HASH值。 |
| clusterId | String | CCE集群ID。 |
| clusterName | String | CCE集群名称。 |
| nameSpace | String | CCE集群命名空间。 |
| podName | String | CCE容器实例名称。 |
| appName | String | 服务名称。 |
| serviceID | String | AOM资源-服务ID。 |
| containerName | String | CCE容器名称。 |
| logContent | String | 日志原数据。 |
| pathFile | String | 日志文件绝对路径。 |
| hostIP | String | 日志文件所在虚拟机主机IP。 |
| hostId | String | 主机在集群中ID。 |
| hostName | String | 日志文件所在虚拟机名称。 |
| collectTime | String | 日志采集时间,UTC时间,毫秒级。 |
| lineNum | String | 日志单行序列号。 |
| logContentSize | String | 单行日志大小。 |
请求示例
-
查询集群下的应用日志
POST https://{Endpoint}/v1/{project_id}/als/action?type=querylogs { "category" : "app_log", "searchKey" : { "clusterId" : "874819a2-bd6f-11e9-80be-0255ac1001b3" }, "keyWord" : "", "startTime" : 1569463658895, "endTime" : 1569463958895, "pageSize" : 100, "hideSyslog" : 0 } -
分页查询
https://{Endpoint}/v1/{project_id}/als/action { "category" : "app_log", "searchKey" : { "clusterId" : "874819a2-bd6f-11e9-80be-0255ac1001b3" }, "keyWord" : "", "startTime" : 1569463658895, "endTime" : 1569463958895, "lineNum" : "1569463911294010547", "type" : "next", "size" : 100, "hideSyslog" : 0 }
响应示例
状态码: 200
OK
请求执行完成。
{
"errorCode" : "SVCSTR.ALS.200200",
"errorMessage" : "Query data success",
"result" : {
"total" : 5000,
"data" : [ {
"category" : "app",
"loghash" : "496b2070d40a83c17f2625401af8a50aadc316f216771fbe38b94d31feaa30eb",
"clusterId" : "c693fa7c-54cd-11e8-8055-0255ac101e40",
"clusterName" : "aomdemo",
"nameSpace" : "default",
"podName" : "als0712-7c4875f884-q5wwp",
"appName" : "als0712",
"serviceID" : "",
"containerName" : "container-0",
"logContent" : "warn:2018/10/09 06:57:01 helloworld.go:108: the main process is running now.n",
"pathFile" : "/var/paas/sys/log/apm/debug_erro.trace",
"hostIP" : "192.168.0.133",
"hostId" : "c11c7211-5a0b-4925-bef4-d078661299b0",
"hostName" : "192.168.0.133",
"collectTime" : "1539068233983",
"lineNum" : "15390682339830002",
"logContentSize" : "77"
} ]
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK 请求执行完成。 |
| 400 | BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 |
| 401 | Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 |
| 403 | Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 |
| 500 | InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 |
| 503 | ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。