У меня есть среда веб-приложений следующим образом:
Apache web server(172.17.0.82) -> HAProxy -> |-"php-fpm-1" App server
-> |-"php-fpm-2" App server
Запросы поступают на сервер Apache, затем передаются HAProxy, который, в свою очередь, передает их двум серверам приложений php, основанным на методе Roundrobin.
Я хотел, чтобы это веб-приложение было структурировано таким образом. Rsyslog включен и начинает получать записи журнала от haproxy для входа в /var/log/haproxy.log.
Мои вопросы:
Как настроить HAProxy, чтобы каждый запрос имел две метки времени:
1) 1-й — это время, когда HAProxy получает входящий запрос, перенаправленный с сервера Apache.
2) 2-я временная метка — когда запрос закончил обработку одним из серверов приложений php и отправил обратно в HAProxy для пересылки на сервер Apache.
Возможно ли иметь эти две метки времени в одной записи в 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
Попробуйте использовать% U, время отклика в восходящем направлении и% Tr, время восходящего соединения в журналах HAproxy. Это должно дать вам задержку, добавленную внутренним сервером.
Других решений пока нет …