2

我正在使用 nginx 在一组灰色日志服务器前对记录器 UDP 流量进行负载平衡。大型日志消息被分成块,然后使用 8 字节的消息 id 从 2 字节标头后重新拼凑在一起,如 GELF 文档中所述:http://docs.graylog.org/en/2.3/pages/gelf。 html

我想根据这 8 个字节(或仅有效负载的前 10 个字节)对消息进行负载平衡,但是我不确定如何提取这些字节,以便可以将它们用作散列参数中的变量:

upstream graylog_nodes {
    hash $first_ten_bytes;
    server 192.168.136.201:1812;
    server 192.168.136.202:1812;
}

这对nginx可行吗?可以通过定义自定义变量并用于路由流量吗?

http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

4

0 回答 0