我正在使用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)?
答案 0 :(得分:0)
我已通过将日志写入文件来解决此问题。然后,使用应用程序 firebeat 将Json文件发送到Logstash服务器。它将新的日志发送到服务器读取的logstash服务器的5044端口。在filebeat中,我将每个服务器对应的变量设置为prod,stg,以标识logstash配置中的服务器。