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

Logstash за прокси не работает

Я пытаюсь запустить несколько экземпляров 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, он не работает:

  1. Навигация по Nginx с портом дает мне ошибку шлюза 502
  2. Журналы Logstash

    Ошибка публикации событий (повторная попытка): ошибка протокола лесоруба

Ошибка публикации событий (повторная попытка): ошибка протокола лесоруба

Что верно, поскольку lumberjack протокол не основан на http, чего ожидает от вашей конфигурации Nginx. Предлагаю попробовать а stream { } блокировать вместо этого для nginx, поскольку он предназначен для TCP-протоколов.

stream {
  server {
    listen 80
  }
  upstream stream_backend {
    server logstash_ip:5044
  }
}