2017-02-14 10 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 разрешить команду 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 является нестандартным портом, но системный журнал, как правило, УДП, а не 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. После этого перезапустите службу syslog и будете работать.
Если вы хотите слушать TCP на порт 2114 вам необходимо изменить вход в

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

udp 514 является значением по умолчанию? – foo

+0

Хорошо, давайте проверим –

+0

Да 514 UDP, 601 TCP и еще один, который я не помню как TLS (6514) – Tinwor