查询负载均衡应用层日志

最近更新时间: 2024-12-19 17:12:00

接口描述

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

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

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

请求参数

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

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

filter 数组 key 的可选值:

参数名称必选类型描述
statusInt返回给客户端的状态码是 value 的日志。
status_notInt返回给客户端的状态码不是 value 的日志。
server_nameString请求匹配的 host 是 value 的日志。
server_name_notString请求匹配的 host 不是 value 的日志。
http_hostString请求的 host 是 value 的日志。
http_host_notString请求的 host 不是 value 的日志。
remote_addrString请求的客户端 IP 是 value 的日志。
remote_addr_notString请求的客户端 IP 不是 value 的日志。
request_time_less_thanString请求处理的时间小于 value 值的日志,与 request_time_greater_than 同时传入有效。
request_time_greater_thanString请求处理的时间大于 value 值的日志,request_time_less_than 同时传入有效。

返回参数

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

logInfo 的格式:

参数名称类型描述
logListArray日志的数组。
totalInt日志的总条数。

logList 数据格式:

序号参数名称类型描述
1server_nameString规则的 server_name。
2requestString请求行。
3remote_addrString客户端 IP。
4upstream_addrString后端的 RS 信息。
5upstream_header_timeString从 RS 接收完 HTTP 头部所花费时间。
6connection_requestsInt连接上的请求个数。
7ssl_handshake_timeStringssl 握手所花费时间。
8ssl_cipherString加密套件。
9ssl_protocolStringssl 协议版本。
10ssl_session_reusedStringssl session 复用。
11time_localString请求访问时间。
12http_hostString请求域名。
13server_addrString请求的目的 IP。
14bytes_sentInt发送客户端的字节数。
15upstream_statusString后端 RS 的状态。
16protocol_typeString协议类型(http/https/spdy/http2/ws/wss)。
17request_timeInt请求处理时间。
18upstream_connect_timeInt和 RS 建立 TCP 连接所花费时间,单位:秒。
19request_lengthInt从客户端收到的请求字节数。
20tcpinfo_rttIntTCP 连接的 rtt:微秒。
21upstream_response_timeInt从 RS 接收应答所花费时间,单位:秒。
22statusString请求返回的状态码,当后端没有机器时,该状态码为 200。
23http_user_agentStringuser_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
    }
}