获取 SysLog Golang 的 TCP 连接时出现连接被拒绝的错误。

huangapple go评论79阅读模式
英文:

Getting Connection refused for tcp connection SysLog Golang

问题

我正在使用golang在Ubuntu 16.4操作系统上使用syslog来记录错误,如下所示。

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

在这里,我遇到了以下错误。

dial tcp 127.0.0.1:2114: getsockopt: connection refused

我已经尝试了以下方法。

  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
英文:

I am using syslog on ubuntu 16.4 Operating System in golang to log error like following.

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

Here I'm getting following error.

dial tcp 127.0.0.1:2114: getsockopt: connection refused

I have already tried following things.

  1. Enable port in firewall with - sudo ufw allow 2114 command.
  2. Disable firewall and tried with that.
  3. Tried other port with above steps.

Any help with will be really appreciated.

Here is the 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

答案1

得分: 0

你需要取消注释以下部分:

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

以提供Syslog TCP接收功能。完成后,重新启动Syslog服务即可生效。

如果你想在端口2114上监听TCP连接,你需要将输入部分修改为:

input(type="imtcp" port="2114")
英文:

You need to uncomment

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

To provide syslog TCP reception. Once you have do this restart the syslog service and will work.
If you want listen tcp on port 2114 you need to change the input as

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

huangapple
  • 本文由 发表于 2017年2月14日 17:20:29
  • 转载请务必保留本文链接:https://go.coder-hub.com/42222136.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定