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