最近CloudFoundry 的GoRouter 模块,dir_server 模块,常出现下面的错误,导致两个模块无法启动
panic: Unix syslog delivery error
goroutine 1 [running]:
github.com/cloudfoundry/gosteno.NewSyslogSink(0xc2000ba960, 0x15, 0x0)
/var/vcap/packages/dea_next/go/src/github.com/cloudfoundry/gosteno/syslog_sink.go:20 +0x78
common.SetupSteno(0xc2000a4ac8)
/var/vcap/packages/dea_next/go/src/common/logger.go:21 +0x241
main.main()
/var/vcap/packages/dea_next/go/src/runner/runner.go:47 +0x108
github.com/cloudfoundry/gosteno.NewSyslogSink(0xc2000ba960, 0x15, 0x0)
/var/vcap/packages/dea_next/go/src/github.com/cloudfoundry/gosteno/syslog_sink.go:20 +0x78
common.SetupSteno(0xc2000a4ac8)
/var/vcap/packages/dea_next/go/src/common/logger.go:21 +0x241
main.main()
/var/vcap/packages/dea_next/go/src/runner/runner.go:47 +0x108
goroutine 2 [syscall]:
goroutine 3 [runnable]:
在Gorouter 模块增加了日志信息,异常信息如下:
dial unixgram /dev/log: connection refused
dial unixgram /var/run/syslog: connection refused
dial unix /dev/log: connection refused
dial unix /var/run/syslog: connection refused
猜测是无法连接syslog,所以一直尝试重启ubuntu的syslog 无法,但是无法成功,后来,竟然出现了 GoRouter 能够启动,但是dir_server无法启动的问题,搞得毫无头绪。
查看了CloudFoundry各个模块的启动代码,发现,每个模块的启动,都要拷贝一个syslog_forwarder.conf 文件,然后重启rsyslog 服务。所以才想,作为ubuntu的系统服务,syslog服务应该没有什么问题才对,所以就尝试将 各个模块的拷贝syslog_forwarder.conf 文件、重启rsyslog 的动作去掉,结果一切正常。
CloudFoundry的syslog_aggreator 服务,个人感觉比较冗余,至少我们是使用了zabix 进行日志的采集,所以去掉后也没有影响。尚未发现其他问题。