Назад | Перейти на главную страницу

Может ли HAProxy сгенерировать уникальный идентификатор соединения на основе UUID?

У меня есть балансировщик нагрузки HAProxy, который я хотел бы использовать для пометки запросов уникальным идентификатором (заголовок X-Unique-ID), чтобы я мог коррелировать события между журналами в нескольких системах.

У HAProxy есть функция для этого с unique-id-format директива. В документации поясняется, что здесь используется только синтаксис системы ведения журнала, а также предлагается использовать такие вещи, как IP-адреса клиента и сервера, временные метки и т. Д. Для создания чего-то, что может быть уникальным.

Мне интересно, можно ли сгенерировать случайный (версия 4) UUID (или что-то подобное) для каждого запроса, а не сгенерировать его с потенциально конфиденциальной информацией о клиенте, такой как IP-адрес и время запроса.

В вашем интерфейсе вы можете использовать что-то вроде этого:

http-request set-header TraceId %[rand,hex,bytes(8,8),lower]%[rand,hex,bytes(8,8),lower]%[rand,hex,bytes(8,8),lower]

rand: возвращает случайное целое число в пределах 0 возможных значений. Если не указано, по умолчанию используется 2 ^ 32 (4294967295).