查询日志
功能介绍
该接口用于查询不同维度(例如集群、IP、应用等)下的日志内容,支持分页查询。
调用方法
请参见如何调用API。
URI
POST /v1/{project_id}/als/action
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
项目ID,可以从控制台获取,也可以从调用API处获取。获取方式请参见:获取项目ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
type |
是 |
String |
日志接口调用方式,当值为"querylogs"时接口功能为查询日志内容。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
从IAM服务获取的用户Token。获取方式请参见:获取Token。 |
|
Content-Type |
是 |
String |
消息体的类型(格式)。指定类型为“application/json”。 枚举值: |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
category |
是 |
String |
日志类型, 取值范围:- app_log:应用日志。- node _log:主机日志。- custom_log:自定义配置路径日志。 |
|
endTime |
是 |
Long |
搜索结束时间(UTC时间,毫秒级)。 |
|
hideSyslog |
否 |
Integer |
搜索时是否隐藏系统日志: |
|
keyWord |
否 |
String |
1.支持关键词精确搜索。关键词指相邻两个分词符之间的单词。 2.支持关键词模糊匹配搜索,例如输入“RROR”或“ERRO?”或“ROR”或“ERR*”或“ER*OR”。 3.支持短语精确搜索,例如输入“Start to refresh alm Statistic”。 4.支持关键词的“与”、“或”组合搜索。格式为“query&&logs”或“query||logs”。 说明: 当前默认分词符有 , '";=()[]{}@&<>/:\n\t\r |
|
lineNum |
否 |
String |
日志单行序列号第一次查询时不需要此参数,后续分页查询时需要使用可从上次查询的返回信息中获取. |
|
pageSize/size |
否 |
String |
表示每次查询的日志条数不填时默认为5000,建议您设置为100。 第一次查询时使用pageSize 后续分页查询时使用size。 |
|
searchKey |
是 |
SearchKey object |
日志过滤条件集合,不同日志来源所需字段不同。 |
|
startTime |
是 |
Long |
搜索起始时间(UTC时间,毫秒级)。 |
|
type |
否 |
String |
表示此次查询为分页查询,第一次查询时不需要此参数,后续分页查询时需要使用。 |
|
isDesc |
否 |
Boolean |
标识按照lineNum升序查询还是降序查询。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码,SVCSTG_AMS_2000000代表正常返回。 |
|
errorMessage |
String |
响应信息描述。 |
|
result |
String |
查询结果元数据信息,包括返回总数及结果。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码。 |
|
errorMessage |
String |
响应信息描述。 |
状态码:401
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码。 |
|
errorMessage |
String |
响应信息描述。 |
状态码:403
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码。 |
|
errorMessage |
String |
响应信息描述。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码。 |
|
errorMessage |
String |
响应信息描述。 |
状态码:503
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
errorCode |
String |
响应码。 |
|
errorMessage |
String |
响应信息描述。 |
请求示例
-
查询集群“c69xxxc-5xxx-1xxx-8xxx5-02xxxxx40”下的应用日志
"POST https://{endpoint}/v1/{project_id}/als/action?type=querylogs" { "category" : "app_log", "endTime" : 15389000003, "hideSyslog" : 0, "keyWord" : "", "searchKey" : { "clusterId" : "c69xxxc-5xxx-1xxx-8xxx5-02xxxxx40" }, "startTime" : 15389000003 } -
/v1/{project_id}/als/action?type=querylogs { "category" : "app_log", "searchKey" : { "clusterId" : "874xxx9a2-xxxf-xxx-8xxe-02xxxxx3" }, "keyWord" : "", "startTime" : 156946300095, "endTime" : 15694600008895, "lineNum" : "1569463900000047", "type" : "next", "size" : 100, "hideSyslog" : 0 }
说明:
1.分页查询时需要增加三个参数:lineNum(上一次查询出的内容中最后一条日志的序列号)、type(取值"next")和size。
2.category、searchKey、keyWord、startTime、endTime等条件需要保持和第一次查询时相同。
3.如果需要继续分页查询,则修改请求参数中的lineNum为上次查询结果中最后一条日志的lineNum的值即可,以此类推。
响应示例
状态码:200
OK 请求响应成功。
{
"errorCode" : "SVCSTG.ALS.200.200",
"errorMessage" : "Query data success",
"result" : [ {
"data" : [ {
"appName" : "axxs0712",
"category" : "apx",
"clusterId" : "c6xxxx7c-54cd-11e8-8055-025xxx1e40",
"collectTime" : 153900000983,
"containerName" : "contsssner-0",
"hostIP" : "1xx.xxx.0.1xxx",
"hostId" : "c11xxxxx11-0000b-4925-bef4-d0xxxx9b0",
"hostName" : "1x2.168.0.xxx",
"lineNum" : "1xxx23xxxxxx2VW5xxxxxx0ZWdlcg==",
"logContent" : "warn:2018/10/09 06:57:01 helloworld.go:108: the main processis running now.",
"logContentSize" : null,
"loghash" : "4xxxxx0d40a83c17f262540xxxxxxxxfeaa30eb",
"nameSpace" : "default",
"pathFile" : "/xxx/xxx/xxx/xxx/xxx/xxx.trxe",
"podName" : "axxx12-7xxf884-qxxwp",
"serviceID" : ""
} ],
"total" : 5000
} ]
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
OK 请求响应成功。 |
|
400 |
BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 |
|
401 |
Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 |
|
403 |
Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 |
|
500 |
InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 |
|
503 |
ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。