Я пытаюсь запустить несколько экземпляров 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
это псевдоним, он разрешим.
Проблема в том, что когда я отправляю какие-то логи прямо в logstash - все в порядке.
Когда я проталкиваю логи через Nginx, он не работает:
Журналы Logstash
Ошибка публикации событий (повторная попытка): ошибка протокола лесоруба
Ошибка публикации событий (повторная попытка): ошибка протокола лесоруба
Что верно, поскольку lumberjack
протокол не основан на http
, чего ожидает от вашей конфигурации Nginx. Предлагаю попробовать а stream { }
блокировать вместо этого для nginx, поскольку он предназначен для TCP-протоколов.
stream {
server {
listen 80
}
upstream stream_backend {
server logstash_ip:5044
}
}