如何配置:HAProxy以记录每个请求两次的时间

时间:2015-05-11 08:21:59

标签: apache logging load-balancing php haproxy

我有一个Web应用程序环境如下:

Apache web server(172.17.0.82) -> HAProxy -> |-"php-fpm-1" App server
                                          -> |-"php-fpm-2" App server

请求到达Apache服务器,然后传递给HAProxy,然后HAProxy将它们传递给基于Roundrobin时尚的两个php应用服务器。

我希望这个网络应用程序以这种方式构建。 rsyslog已启用,它开始从haproxy接收日志条目以登录/var/log/haproxy.log。

我的问题:

  • 如何配置HAProxy,以便每个请求都有两个时间戳: 1)第一个是HAProxy收到从Apache服务器转发的传入请求的时间。 2)第二个时间戳是当一个php App服务器请求完成处理并发送回HAProxy以转发到Apache服务器时。

  • 是否可以在haproxy.log中的单个记录中包含这两个时间戳?

  • 我可以在haproxy.log中以微秒记录所有这些时间戳吗?

谢谢大家。

这是我的haproxy配置文件:

 global
    log 127.0.0.1   local0 
    log 127.0.0.1   local1 notice
    user haproxy
    group haproxy
    daemon


defaults
    mode    tcp
    option  tcplog
    #option dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend http-in
    mode tcp
    option tcplog
    bind    0.0.0.0:9000
    log global
    #which backend
    default_backend php_appservers


backend php_appservers
    mode tcp
    option tcplog
    balance roundrobin
    server php-fpm-1 172.17.0.125:9000 weight 5 check slowstart 5000ms
    server php-fpm-2 172.17.0.126:9000 weight 5 check slowstart 5000ms

当我检查haproxy.log时,它看起来像:

May  7 08:28:00 localhost haproxy[4884]: 172.17.0.82:53369 [07/May/2015:08:28:00.287] http-in php_appservers/php-fpm-2 1/0/9 92320 -- 0/0/0/0/0 0/0
May  7 08:28:01 localhost haproxy[4884]: 172.17.0.82:53373 [07/May/2015:08:28:01.683] http-in php_appservers/php-fpm-1 1/0/4 92344 -- 0/0/0/0/0 0/0
May  7 08:28:02 localhost haproxy[4884]: 172.17.0.82:53376 [07/May/2015:08:28:02.514] http-in php_appservers/php-fpm-2 1/0/4 92320 -- 0/0/0/0/0 0/0
May  7 08:28:04 localhost haproxy[4884]: 172.17.0.82:53380 [07/May/2015:08:28:04.808] http-in php_appservers/php-fpm-1 1/0/8 92344 -- 0/0/0/0/0 0/0
May  7 08:28:05 localhost haproxy[4884]: 172.17.0.82:53382 [07/May/2015:08:28:05.247] http-in php_appservers/php-fpm-2 1/0/4 92320 -- 0/0/0/0/0 0/0
May  7 08:28:06 localhost haproxy[4884]: 172.17.0.82:53386 [07/May/2015:08:28:06.754] http-in php_appservers/php-fpm-1 1/0/4 92344 -- 0/0/0/0/0 0/0

1 个答案:

答案 0 :(得分:0)

尝试在HAproxy日志中使用%U,上游响应时间和%Tr,上游连接时间。这些应该为您提供后端服务器添加的延迟。