我试图在代理之后启动几个Logstash实例。
我正在使用nginx,但HAProxy也是一个选项。
worker_processes 4; events { worker_connections 1024; } http { upstream streams { server logstash_ip:5044; } server { listen 80; location / { rewrite ^/(.*) /$1 break; proxy_ignore_client_abort on; proxy_pass http://streams; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } }
logstash_ip是一个别名,它是可以parsing的。
问题是,当我将一些日志直接推送到logstash时 – 一切正常。
当我通过Nginx推送日志时,它失败了:
Logstash日志
发布事件(重试)时发生错误:lumberjack协议错误
发布事件(重试)时发生错误:lumberjack协议错误
这是正确的,因为lumberjack协议不是基于http ,这是Nginx在你的configuration中所期待的。 我build议尝试使用 nginx 的stream { }块 ,因为这是为TCP协议devise的。
stream { server { listen 80 } upstream stream_backend { server logstash_ip:5044 } }