haproxy日志 - 取决于条件

时间:2016-11-08 16:44:44

标签: logging proxy haproxy

我在haproxy设置上使用log-format来解决一些问题。首先,我有多个代理设置,这意味着:

  

请求 - >客户代理 - >中间代理 - >应用

关于在客户端代理上的这个我正在添加:

  

unique-id-header X-Unique-ID

,此值在日志中表示为:

  

log-format%ci:%cp \ [%t] \%f \%b /%s \%Tq /%Tw /%Tc /%Tr /%Tt \%ST \%B \   %CC \%CS \%tsc \%ac /%fc /%bc /%sc /%rc \%sq /%bq \ {%hrl} \ {%hsl} \%{+ Q} r \   {%ID}

这很棒。另一方面,在代理中间我可以从前端的头部获取此值:

  

捕获请求标头X-Unique-ID len 200

现在在这个代理(代理中)我有这样的条件:

  

acl uniq_header_exist hdr_cnt(X-Unique-ID)eq 0

     

http-request set-header X-Unique-ID%{+ X} o \%ci:%cp_%fi:%fp_%Ts_%rt:%pid if   uniq_header_exist

(完成这项工作,所以我可以添加uuid,如果不存在 - 很棒),日志代表如下:

  

log-format%ci:%cp \ [%t] \%f \%b /%s \%Tq /%Tw /%Tc /%Tr /%Tt \%ST \%B \   %CC \%CS \%tsc \%ac /%fc /%bc /%sc /%rc \%sq /%bq \ {%hrl} \ {%hsl} \%{+ Q} r \   [ID =%[capture.req.hdr(2)]]

但我无法做任何可能的事情:

if X-Unique-ID exist then use:
  log-format XXXXX
else
  log-format YYYY

有什么建议吗?

或者,如果您有一些示例设置,我们如何添加 haproxy uuid标头(如果存在)或者如果不存在以及如何记录它。使用一个前端代理时,一切都非常简单。

感谢您的帮助!

0 个答案:

没有答案