慢查询统计分析

最近更新时间:2017-12-21 17:30:23

1. 接口描述

本接口(GetMongoDBSlowLogPartten)用于查看实例前10000条慢日志的统计分析结果。
接口请求域名:mongodb.api.qcloud.com

2. 输入参数

以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见公共请求参数页面。其中,此接口的 Action 字段为 GetMongoDBSlowLogPartten。

参数名称 是否必选 类型 描述
Limit Int 分页大小,最大不超过100。
Offset Int 当前页码。最多支持查询1W条结果,即Limit乘以Offset不超过10000。 查询接口中单次查询一般都有一个默认最大返回记录数,要遍历所有资源,需要使用 limit,offset进行分页查询;例如查询第110~149 这40条记录,则可以设置 offset=110 limit=40。
QueryMaxTime Int 慢查询阈值,单位为毫秒,最小为100毫秒。
MongodbId String 待操作的实例ID,可通过 DescribeMongoDBInstances 接口返回值中的 instanceId 获取。
BeginTime String 开始时间,格式如:2017-02-08 16:46:34。查询实例在 [beginTime, endTime] 时间段内开始的慢日志统计结果。
EndTime String 结束时间,格式如:2017-02-08 19:09:26。查询实例在 [beginTime, endTime] 时间段内开始的慢日志统计结果。

3. 输出参数

参数名称 类型 描述
code Int 公共错误码, 0表示成功,其他值表示失败。详见错误码页面的公共错误码
message String 错误信息描述, 成功时,该值为空。
codeDesc String 业务侧错误码英文描述。成功时返回Success,错误时返回具体业务错误原因。
totalCount Int 实例总数。
slowLogParttens Array 慢日志。

其中,slowLogParttens 表示慢日志分析结果,其参数构成如下:

参数名称 类型 描述
avgTime Int 当前模式日志在前10000条慢日志中平均执行时间。
logCount String 当前模式日志在前10000条慢日志中出现的次数。
maxTime String 当前模式日志在前10000条慢日志中最大执行时间。
example Int 日志模式示例。

4. 错误码

以下错误码表列出了该接口的业务逻辑错误码。

错误代码 英文提示 错误描述
11050 InvalidParameter 业务参数错误。
11056 InstanceNotExists 没有找到对应实例。
11077 TimeFormatError beginTime或者endTime时间格式错误,正确格式:2006-01-02 15:04:05。
11078 QueryTimeRangeError 开始时间beginTime 大于结束时间endTime。
11081 StartTimeTooOld 只允许查询7天内的数据。
11082 QueryNumExcessive 只允许查询1万条慢日志。
11083 QueryTimeRangeMoreThan1day 查询时间不允许超过1天。
11084 LimitExcessive 单次查询最多只允许100条记录。
11085 QueryMaxTimeTooSmall 慢查询阈值必须大于等于100毫秒。

5. 示例

https://mongodb.api.qcloud.com/v2/index.php?Action=GetMongoDBSlowLogPartten
&<<a href="https://cloud.tencent.com/document/api/213/6976">公共请求参数</a>>
&Offset=0
&Limit=100
&QueryMaxTime=100
&BeginTime=2017-10-20 19:16:59
&EndTime=2017-10-20 20:16:00
&MongodbId=cmgo-a1234567

返回示例如下:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "totalCount": 3,
    "slowLogParttens": [
        {
            "avgTime": 267,
            "logCount": 2,
            "maxTime": 425,
            "example": "Fri Oct 20 19:26:20.407 I COMMAND  [conn64406327] command admin.$cmd command: saslContinue { saslContinue: 1, conversationId: 1, mechanism: \"SCRAM-SHA-1\", payload: BinData(0, 633D626977732C723D4C6838532F78426256304B705A595165573649425648576D78424C6F3630794C4E504E31306144632C703D316E53525A4D797A6B746974434B6B6C546145654F4D68436674343D) } keyUpdates:0 writeConflicts:0 numYields:0 reslen:108 locks:{} protocol:op_query 425ms"
        },
        {
            "avgTime": 341,
            "logCount": 73,
            "maxTime": 490,
            "example": "Fri Oct 20 19:28:21.748 I COMMAND  [conn64407066] command admin.$cmd command: serverStatus { serverStatus: 1 } keyUpdates:0 writeConflicts:0 numYields:0 reslen:21178 locks:{} protocol:op_query 490ms"
        },
        {
            "avgTime": 180,
            "logCount": 41,
            "maxTime": 362,
            "example": "Fri Oct 20 20:02:54.435 I COMMAND  [conn20395538] command local.oplog.rs command: getMore { getMore: 15295125487, collection: \"oplog.rs\", maxTimeMS: 5000, term: 7, lastKnownCommittedOpTime: { ts: Timestamp 1508500974000|209, t: 7 } } planSummary: COLLSCAN cursorid:15295125487 keysExamined:0 docsExamined:706 keyUpdates:0 writeConflicts:0 numYields:5 nreturned:706 reslen:177812 locks:{ Global: { acquireCount: { r: 12 } }, Database: { acquireCount: { r: 6 } }, oplog: { acquireCount: { r: 6 } } } protocol:op_command 362ms"
        }
    ]
}