关于haproxy的一些事儿

haproxy  日志格式

我们都知道日志是非常强大的一个库,里面可以挖出来很多东西,弄明白他,将令你如虎添翼。

haproxy支持4种日志格式,大多数的字段都是相通的,只有极少数的格式是因为某种特殊的功能配置而单独添加的。

第一个:默认格式。这种格式非常基本,已经很少使用了,他的日志中只有:来访者IP:端口;目的IP:端口;前端名称(frontend-name)。

第二个:TCP格式。是一种高级格式。开启条件:前端(frontend)设置开启了“option tcplog”,就会出现这种日志格式。haproxy通常会等待一个连接从开始到结束后,才记录日志。这种日志提供了丰富的信息,如:时间,连接数,队列大小等。这种日志格式非常适合纯tcp的代理。

关于haproxy的一些事儿_第1张图片

其中6的格式0/0/5007 Tw/Tc/Tt 时间 #时间都是ms级别的。

Tw 是指在请求队列中等待的总时间(T代表总共 w代表waiting) 如果是-1的话 代表客服端主动断开请求

Tc 是指用来连接后端server tcp建联总时间(T代表总共 c代表connect) 如果是-1的话 代表客服端在tcp建联的时候断开请求

Tt 是指haproxy完成整个请求的总时间(包括接受请求 向后端发起 接收后端的内容 和重试的所有时间) (T代表总共 t也代表总共)

其中7的格式byte_read* 日志记录时 所以经过haproxy 传输的字节数.

其中9的格式0/0/0/0/3 actconn/feconn/beconn/srv_conn/retries

actconn 是指会话记录过程中进程并发连接数(好像跟系统文件描述符相关)

feconn 是指会话记录过程中frontend中的并发连接数(frontend 级别的)

beconn 是指会话记录过程中backend中已经建立握手的并发连接数(backend 级别的)

srv_conn 是指会话记录过程中活跃的并发连接数

retries是指会话记录过程中重试后端server的次数

其中10的格式0/0 srv_queue/backend_queue

srv_queue 处理改请求时 server端的队列正在处理的连接数  

backend_queue 处理改请求是 backend队列正在处理的连接数

第三个:HTTP格式。是专门用来做HTTP代理的日志。开启条件:前端(frontend)设置开启了“option httplog”,就会出现这中日志格式。它不仅包括了tcp日志中的字段,还包含一些http请求中所特有的内容字段,如:请求,状态码,header信息,以及cookie信息。这中日志格式非常适合HTTP代理。

关于haproxy的一些事儿_第2张图片

 

Jun 26 20:55:18 日志产生的时间

localhost.localdomain 本地

haproxy[6255]: haproxy pid

112.3.150.26:19538 客户端源地址 :源端口

[1372251318.135/1372251318.267] 请求开始时间/请求结束时间 时间戳的格式 

http-in frontend名称

fc_backend/CMN-NJ-S-3O7    backend名称/后端server名称(均根据配置的改变而改变)

0/0/0/111/132 Tq/Tw/Tc/Tr/Tt (时间跟上面一样 ms级别的)

Tq 等待客户端发送完整的http请求的时间 (-1 表示在接收http响应之前断开连接)

Tw 请求在队列中等待的时间 (-1 表示请求到达队列之前 断开连接)

Tc 与后端server建联的总时间 包括重试时间 (-1 表示请求与后端建联过程中 断开连接)

Tr 等待后端server 发送一个完整http响应总时间 不包括实体内容(-1 代表在等待发送响应之前 断开连接)

Tt 从接受请求到关闭连接的总时间

302 HTTP响应代码

436 接收到该请求返回的数据大小(包括HTTP头) 单位是字节

- 请求的cookie

- 响应的cookie

---- 请求终止状态

9670/9670/7878/1496/0 actconn/feconn/beconn/srv_conn/retries

actconn 是指会话记录过程中进程并发连接数(好像跟系统文件描述符相关)

feconn 是指会话记录过程中frontend中的并发连接数(frontend 级别的)

beconn 是指会话记录过程中backend中已经建立握手的并发连接数(backend 级别的)

srv_conn 是指会话记录过程中活跃的并发连接数

retries 是指会话记录过程中重试后端server的次数

0/0 srv_queue/backend_queue
srv_queue 处理该请求时 server端的队列正在处理的连接数

backend_queue 处理改请求是 backend队列正在处理的连接数

{sz.photo.store.qq.com|Mozilla/4.0 (com|http://user.qzone.qq.com/2644932027/info} {' captured_request_headers '}

与配置有关,看下面:

 关于haproxy的一些事儿_第3张图片

host 40字节        User_Agent 16字节                    Referer 40字节

"GET /rurl2=ce4f79c2e7d3420f44fea1b5363ce5420f16ce1672878028ba568cc37e28a77ed9d0f3516 HTTP/1.1" 

GET 请求方法。

 /rurl2=ce4f79c2e7d3420f44fea1b5363ce5420f16ce1672878028ba568cc37e28a77ed9d0f3516     请求的URI。

HTTP/1.1 请求的协议版本

日志部分讲到这里。

你可能感兴趣的:(haproxy)