无法使用Logstash-logger Gem将日志发送到另一台服务器中的Logstash

时间:2018-11-27 13:50:02

标签: ruby-on-rails logstash

我正在使用rails 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

我已在日志服务器中安装了麋鹿堆栈,以接收来自stg和dev服务器的日志。但是目前出现上述错误。

我还有另一个疑问,如果成功了,那么我如何确定日志来自哪个服务器(stg或prod)?

1 个答案:

答案 0 :(得分:0)

我已通过将日志写入文件来解决此问题。然后,使用应用程序 firebeat 将Json文件发送到Logstash服务器。它将新的日志发送到服务器读取的logstash服务器的5044端口。在filebeat中,我将每个服务器对应的变量设置为prod,stg,以标识logstash配置中的服务器。