Как я получаю уникальный идентификатор в журналах haproxy?

Я пытаюсь получить уникальный идентификатор для каждого запроса в моих журналах. Я думал, что мог использовать capture request header X-Unique-ID len 16 на заголовке, но не работа. Какие-либо предложения?

global
log /dev/log local1
maxconn 4096
user haproxy
group haproxy
daemon
stats socket /var/run/haproxy.sock mode 600 level admin
spread-checks 5

defaults
log    global
mode    http
option    httplog
option  dontlog-normal
option log-separate-errors
option    dontlognull
retries    2
option redispatch
maxconn 2000
timeout connect 5s
timeout client  15s
timeout server  10s
#option forwardfor
#option http-server-close


frontend http-in
bind *:8080
monitor-uri /haproxy-health
unique-id-header X-Unique-ID
unique-id-format %{+X}o\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid

capture request header Host len 32
capture request header User-Agent len 200
capture request header X-Unique-ID len 16
rspidel ^X-Powered-By:.*

default_backend application-backend

backend application-backend
balance leastconn
option httpclose
option forwardfor
option httpchk

http-check send-state
http-send-name-header Node-Name
#http-check expect status 200
#cookie JSESSIONID prefix

server test1 192.168.1.73:80
#server 10.0.1.102:80 cookie A check
0
задан 1 September 2015 в 07:02
1 ответ

Для протоколирования уникального идентификатора необходимо создать собственный формат протоколирования, который использует тэг %ID. Нет необходимости использовать "заголовок запроса на захват" для записи в журнал.

Переписав вышеприведенный пример в пользовательском формате лога:

frontend http-in
    bind *:8080
    monitor-uri /haproxy-health
    unique-id-header X-Unique-ID
    unique-id-format %{+X}o\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid

    capture request header Host len 32
    capture request header User-Agent len 200
    rspidel ^X-Powered-By:.*
    log-format %{+Q}r\ %ST\ "%CC"\ "%hr"\ "%CS"\ "%hs"\ %ID

С таким конфигуратором вы получите сообщения в журнал, которые выглядят примерно так:

Sep 10 17:37:55 lb2 haproxy[28497]: "GET /favicon.ico HTTP/1.1" 200 "-" "{172.20.0.20:8999|Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36}" "-" "" AC140001:C1B8_AC140014:2327_55F1BFF3_0003:6F51

Последняя запись - уникальный id.

Вы можете увидеть все возможности для записи в журнал по адресу http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8.2.4

2
ответ дан 4 December 2019 в 13:47

Теги

Похожие вопросы