查询负载均衡应用层日志
最近更新时间: 2024-10-17 17:10:00
接口描述
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
}
}