查询应用层日志

最近更新时间:2018-06-01 16:43:23

接口描述

DescribeLoadBalancerLog 接口用来查询负载均衡应用层的日志,适用于配置了 HTTP 与 HTTPS 协议监听器的外网属性的负载均衡。

接口访问域名:lb.api.qcloud.com

接口说明:该接口可以查询三天之内的负载均衡的转发日志,包括转发给后端 RS 的日志,以及由于后端 RS 异常,直接从负载均衡返回的日志,请求的时间间隔不超过一天。

请求参数

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

参数名称 必选 类型 描述
loadBalancerId String 负载均衡实例 ID,可通过 DescribeLoadBalancers 接口查询。
order String 日志的按照时间戳的顺序,可选值 desc,asc,默认值 desc。
startTime Int 查询日志的开始时间,Unix 时间戳。默认为 endTime 的前 5 分钟。
endTime Int 查询日志的截止时间,Unix 时间戳。默认为当前时间戳。
offset Int 日志的偏移量,取值范围 [0,10000]。
limit Int 日志的条数,取值范围 [0,500]。
filter Array 日志的过滤条件,key,value的方式,具体字段如下。

filter 数组 key 的可选值:

参数名称 必选 类型 描述
status Int 返回给客户端的状态码是 value 的日志。
status_not Int 返回给客户端的状态码不是 value 的日志。
server_name String 请求匹配的 host 是 value 的日志。
server_name_not String 请求匹配的 host 不是 value 的日志。
http_host String 请求的 host 是 value 的日志。
http_host_not String 请求的 host 不是 value 的日志。
remote_addr String 请求的客户端 IP 是 value 的日志。
remote_addr_not String 请求的客户端 IP 不是 value 的日志。
request_time_less_than String 请求处理的时间小于 value 值的日志,与 request_time_greater_than 同时传入有效。
request_time_greater_than String 请求处理的时间大于 value 值的日志,request_time_less_than 同时传入有效。

返回参数

参数名称 类型 描述
code Int 公共错误码,0 表示成功,其他值表示失败。详见错误码页面的 公共错误码
message String 模块错误信息描述,与接口相关。
codeDesc String 英文错误码,成功返回 Success,失败有相应的英文说明。
logInfo Json 返回日志的信息。

logInfo 的格式:

参数名称 类型 描述
logList Array 日志的数组。
total Int 日志的总条数。

logList 数据格式:

序号 参数名称 类型 描述
1 server_name String 规则的 server_name。
2 request String 请求行。
3 remote_addr String 客户端 IP。
4 upstream_addr String 后端的 RS 信息。
5 upstream_header_time String 从 RS 接收完 HTTP 头部所花费时间。
6 connection_requests Int 连接上的请求个数。
7 ssl_handshake_time String ssl 握手所花费时间。
8 ssl_cipher String 加密套件。
9 ssl_protocol String ssl 协议版本。
10 ssl_session_reused String ssl session 复用。
11 time_local String 请求访问事件。
12 http_host String 请求域名。
13 server_addr String 请求的目的 IP。
14 bytes_sent Int 发送客户端的字节数。
15 upstream_status String 后端 RS 的状态。
16 protocol_type String 协议类型(http/https/spdy/http2/ws/wss)。
17 request_time Int 请求处理时间。
18 upstream_connect_time Int 和 RS 建立 TCP 连接所花费时间,单位:秒。
19 request_length Int 从客户端收到的请求字节数。
20 tcpinfo_rtt Int TCP 连接的 rtt:微秒。
21 upstream_response_time Int 从 RS 接收应答所花费时间,单位:秒。
22 status String 请求返回的状态码,当后端没有机器时,该状态码为 200。
23 http_user_agent String user_agent。

示例

请求


https://lb.api.qcloud.com/v2/index.php?Action=DescribeLoadBalancerLog
&<公共请求参数>
&loadBalancerId=lb-7wdcqme9
&filter.0.key=status
&filter.0.value=200
&filter.1.key=server_name
&filter.1.value=www.qq.com

返回

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "logInfo": {
        "logList": [
            {
                "server_name": "www.qq.com",
                "request": "GET / HTTP/1.1",
                "remote_addr": "119.28.138.187",
                "upstream_addr": "-",
                "upstream_header_time": "-",
                "connection_requests": 1,
                "ssl_cipher": "-",
                "remote_port": "40554",
                "time_local": "02/Nov/2017:12:03:13 +0800",
                "http_host": "115.159.132.241",
                "server_addr": "115.159.132.241",
                "bytes_sent": 239,
                "upstream_status": "-",
                "protocol_type": "http",
                "ssl_handshake_time": "-",
                "request_time": 0,
                "upstream_connect_time": "-",
                "request_length": 79,
                "ssl_session_reused": "-",
                "tcpinfo_rtt": 38000,
                "upstream_response_time": "-",
                "ssl_protocol": "-",
                "status": "200"
            }
        ],
        "total": 3918
    }
}