Я схожу с ума, пытаясь заставить rsyslog отправить определенный лог-файл на удаленный сервер по UDP.
Это файл rsyslog.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 ####
#################
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
$ModLoad imfile # provides imfile module
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
###########################
#### 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 adm
#
# Where to place spool files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf
Затем я добавил *. * @RemoteserverIP в конце /etc/rsyslog.d/50-default.conf.
[ 116] После этого я создал файл /etc/rsyslog.d/test.conf со следующим содержимым:
$ModLoad imfile
$InputFileName /var/log/test
$InputFileTag test
$InputFileStateFile stat-test
$InputFileSeverity info
InputRunFileMonitor
*.* @remoteserverIP
наконец я создал / var / log / test и сделал chown syslog; chgrp adm; перезапуск службы rsyslog
Мой сервер прослушивает UDP 514
tcpdump udp на отправляющем сервере показывает, что журналы не отправляются после выполнения команды cat «test» >> / var / log / test
logger -t test «Мой маленький пони» отправляет данные по UDP, просматривается tcpdump и появляется на моем удаленном сервере.
[ 1111] На отправляющем сервере:
rsyslogd -v
rsyslogd 5.8.6, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
Кто-нибудь знает, что я делаю неправильно?
Спасибо за помощь!
Да, немного верно. Иногда это помогает - или это необходимо - сделать:
sudo apt-get install --reinstall rsyslogd *
blockquote>или вместо этого полностью перезагрузить компьютер для перезагрузки демоны (включая rsyslogd).
Вы можете посмотреть, прокручивает ли syslog (это означает, что rsyslogd работает как демон).