Apologies, my mail client went stupid. Here's the log entry unmangled:

198.228.211.13:60848 api~ platform-push/i-84d931a5 49562/0/-1/-1/49563
0/0/0/0/0 0/0 691/212 503 CC-- 4F8E-4624 + GET
/1/sync/notifications/subscribe?sync_box_id=12496&sender=D7A9F93D-F653-4527-A022-383AD55A1943
HTTP/1.1

-Patrick


------------------------------------------------------------------------
*From: *Patrick Hemmer <hapr...@stormcloud9.net>
*Sent: * 2014-04-01 15:20:15 E
*To: *haproxy@formilux.org
*Subject: *haproxy intermittently not connecting to backend

> We have an issue with haproxy (1.5-dev22-1a34d57) where it is
> intermittently not connecting to the backend server. However the
> behavior it is exhibiting seems strange.
> The reason I say strange is that in one example, it logged that the
> client disconnected after ~49 seconds with a connection flags of
> "CC--". However our config has "timeout connect 5000", so it should
> have timed out connecting to the backend server after 5 seconds.
> Additionally we have "retries 3" in the config, so upon timing out, it
> should have tried another backend server, but it never did (the
> retries counter in the log shows "0").
> At the time of this log entry, the backend server is responding
> properly. For the ~49 seconds prior to the log entry, the backend
> server has taken other requests. The backend server is also another
> haproxy (same version).
>
> Here's an example of one such log entry:
>
>  198.228.211.13:60848 api~ platform-push/i-84d931a5 49562/0/-1/-1/49563 
> 0/0/0/0/0 0/0 691/212
>   &
> lt;
> span class="t" style="border-color: rgb(204, 204, 204); font-style: normal; 
> cursor: pointer;">503 CC-- 4F8E-4624 + GET 
> /1/sync/notifications/subscribe?sync_box_
>  id=12345&sender=27B9A93C-F473-4385-A662-352AD34A2453 HTTP/1.1
>
> The log format is defined as:
> %ci:%cp\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ac/%fc/%bc/%sc/%rc\
> %sq/%bq\ %U/%B\ %ST\ %tsc\ %ID\ +\ %r
>
> Running a "show errors" on the stats socket did not return any
> relevant results.
>
> Here's the relevant portions of the haproxy config. It is not the
> entire thing as the whole config is 1,513 lines long.
>
> global
>   log 127.0.0.1 local0
>   maxconn 20480
>   user haproxy
>   group haproxy
>   daemon
>   stats socket /var/run/hapi/haproxy/haproxy.sock level admin
>
> defaults
>   log global
>   mode http
>   option httplog
>   option dontlognull
>   option log-separate-errors
>   retries 3
>   option redispatch
>   timeout connect 5000
>   timeout client 60000
>   timeout server 170000
>   option clitcpka
>   option srvtcpka
>   option abortonclose
>   option splice-auto
>   monitor-uri /haproxy/ping
>   stats enable
>   stats uri /haproxy/stats
>   stats refresh 15
>   stats auth user:pass
>
> frontend api
>   bind *:80
>   bind *:443 ssl crt /etc/haproxy/server.pem
>   maxconn 20000
>   option httpclose
>   option forwardfor
>   acl internal src 10.0.0.0/8
>   acl have_request_id req.fhdr(X-Request-Id) -m found
>   http-request set-nice -100 if internal
>   http-request add-header X-API-URL %[path] if !internal
>   http-request add-header X-Request-Timestamp %Ts.%ms
>   http-request add-header X-Request-Id %[req.fhdr(X-Request-Id)] if
> internal have_request_id
>   http-request set-header X-Request-Id %{+X}o%pid-%rt if !internal ||
> !have_request_id
>   http-request add-header X-API-Host i-4a3b1c6a
>   unique-id-format %{+X}o%pid-%rt
>   log-format %ci:%cp\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\
> %ac/%fc/%bc/%sc/%rc\ %sq/%bq\ %U/%B\ %ST\ %tsc\ %ID\ +\ %r
>   default_backend DEFAULT_404
>
>   acl rewrite-found req.hdr(X-Rewrite-ID,1) -m found
>
>   acl nqXn_path path_reg ^/1/sync/notifications/subscribe/([^\ ?]*)$
>   acl nqXn_method method OPTIONS GET HEAD POST PUT DELETE TRACE
> CONNECT PATCH
>   http-request set-header X-Rewrite-Id nqXn if !rewrite-found
> nqXn_path nqXn_method
>   acl rewrite-nqXn req.hdr(X-Rewrite-Id) -m str nqXn
>   use_backend platform-push if rewrite-nqXn
>   reqrep ^(OPTIONS|GET|HEAD|POST|PUT|DELETE|TRACE|CONNECT|PATCH)\
> /1/sync/notifications/subscribe/([^\ ?]*)([\ ?].*|$) \1\
> /1/sync/subscribe/\2\3 if rewrite-nqXn
>
>
> backend platform-push
>   option httpchk GET /ping
>   default-server inter 15s fastinter 1s
>   server i-6eaf724d 10.230.23.64:80 check observe layer4
>   server i-84d931a5 10.230.42.8:80 check observe layer4
>

Reply via email to