Невозможно отправить журнал в logstash на другом сервере, используя gem logstash-logger - PullRequest
0 голосов
/ 27 ноября 2018

Я использую рельсы 5.2.1 и ruby ​​2.5.0.Я включил следующее в файл среды

 config.logstash = [
 {
        type: :tcp,
        port: 5044,
        host: 'log server ip addrees',
        verify_hostname: false
  }
]

в Gemfile

gem "lograge"
gem "logstash-event"
gem 'logstash-logger'

Затем я открыл входящий порт 5044 сервера журналов и исходящий порт для сервера приложений.Но показывает ошибку

[LogStashLogger::Device::TCP] Errno::EPIPE - Broken pipe

Я установил стек elk на сервер журналов, чтобы получать журналы от серверов stg и dev.Но в настоящее время появляется вышеуказанная ошибка.

У меня также есть еще одно сомнение: если это удастся, то как я могу определить, с какого сервера (stg или prod) пришел журнал?

1 Ответ

0 голосов
/ 01 марта 2019

Я решил проблему, записав журнал в файл.Затем с помощью приложения firebeat отправьте файл Json на сервер logstash.Он отправит новые журналы на порт 5044 сервера logstash, который будет прочитан сервером.В filebeat я устанавливаю переменную как prod, stg, соответствующую каждому серверу, для идентификации сервера в конфигурации logstash.

...