0
votes

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
2114 is a non-standard port, but syslog is usually udp rather than tcp excepting special config or tls. Maybe syslog.Dial("udp", "localhost:2114", syslog.LOG_ERR, "testapi") ? Unfortunately you will not get any err even if it not correct since udp is connectionless. - foo
I have tried 5514 also but its not working!. What do you mean by non standard port? - Jalpesh Vadgama
You should post your syslog.conf - Tinwor
Can you check if any process is bound to 2114? - Prabhu
Added syslog.conf. - Jalpesh Vadgama

1 Answers

0
votes

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")