我正在使用nginx在一组graylog服务器前面对记录器UDP流量进行负载均衡。如GELF文档中所述,大型日志消息被拆分为块,然后使用8字节的消息ID拼接回来,如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