查询日志
功能介绍
该接口用于查询不同维度(例如,集群、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 被请求的服务无效。建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。