2017-02-14 147 views
0

我正在使用syslog在ubuntu 16.4操作系统中golang来记录下面的错误。获取连接拒绝tcp连接SysLog Golang

w, err = syslog.Dial("tcp", "localhost:2114", syslog.LOG_ERR, "testapi") 

在这里我得到以下错误。

拨号TCP 127.0.0.1:2114:用getsockopt:连接被拒绝

我已经尝试下面的东西。

  1. 使用 - sudo ufw allow 2114命令在防火墙中启用端口。
  2. 禁用防火墙并尝试使用。
  3. 通过上述步骤尝试其他端口。

任何帮助将非常感激。

这里是syslog.conf的

# /etc/rsyslog.conf Configuration file for rsyslog. 
# 
#   For more information see 
#   /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html 
# 
# Default logging rules can be found in /etc/rsyslog.d/50-default.conf 


################# 
#### MODULES #### 
################# 

module(load="imuxsock") # provides support for local system logging 
module(load="imklog") # provides kernel logging support 
#module(load="immark") # provides --MARK-- message capability 

# provides UDP syslog reception 
#module(load="imudp") 
#input(type="imudp" port="514") 

# provides TCP syslog reception 
#module(load="imtcp") 
#input(type="imtcp" port="514") 

# Enable non-kernel facility klog messages 
$KLogPermitNonKernelFacility on 

########################## 
#### GLOBAL DIRECTIVES #### 
########################## 

# 
# Use traditional timestamp format. 
# To enable high precision timestamps, comment out the following line. 
# 
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 

# Filter duplicated messages 
$RepeatedMsgReduction on 

# 
# Set the default permissions for all log files. 
# 
$FileOwner syslog 
$FileGroup adm 
$FileCreateMode 0640 
$DirCreateMode 0755 
$Umask 0022 
$PrivDropToUser syslog 
$PrivDropToGroup syslog 

# 
# Where to place spool and state files 
# 
$WorkDirectory /var/spool/rsyslog 

# 
# Include all config files in /etc/rsyslog.d/ 
# 
$IncludeConfig /etc/rsyslog.d/*.conf 
+0

2114是一个非标准的端口,但系统日志通常是UDP而不是TCP除外特殊配置或TLS。也许syslog.Dial(“udp”,“localhost:2114”,syslog.LOG_ERR,“testapi”)?不幸的是,即使它不正确,你也不会有任何错误,因为udp是无连接的。 – foo

+0

我也试过5514,但它不工作!非标准端口是什么意思? –

+0

你应该发布你的syslog.conf – Tinwor

回答

0

您必须解除

#module(load="imtcp") 
#input(type="imtcp" port="514") 

为了提供系统日志TCP接收。一旦你这样做,重新启动系统日志服务,并将工作。
如果你想监听端口TCP 2114你需要改变输入作为

input(type="imtcp" port="2114") 
+0

udp 514是默认的? – foo

+0

好吧,让我检查 –

+0

是的514 UDP,601 TCP和另一个我不记得TLS(6514) – Tinwor