我有一个应用服务器(Ubuntu 14.04),它运行tomcat服务器。此同一应用程序服务器由配置为将日志发送到NXlog服务器(在Ubuntu 14.04上)的“rsyslog”服务器组成。多行日志问题rsyslog
rsyslog服务器发送所有日志,包括tomcat错误,异常&堆栈跟踪到系统日志服务器,但问题在于多行日志。当日志消息存储在文件中或未经任何封装地通过网络转发时,跨越多行的消息中出现的换行符会混淆简单的基于行的分析器,这些简单的基于行的分析器将每行视为单独的事件; &因此我的异常日志被换成新行。
我rsyslog现在的版本是:7.4.4
的rsyslog.conf文件看起来是这样的:
#################
#### MODULES ####
#################
$EscapeControlCharactersOnReceive off
$LocalHostName nishant-app
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)i
#$ModLoad immark # provides --MARK-- message capability
$ModLoad imfile
$ModLoad omrelp
#$ModLoad omhdfs
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
module(load="imfile" PollingInterval="10")
###########################
#### 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 files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf ## This includes all the conf files which tells rsyslog which logs need to be sent
所以基本上我需要发送tomcat的堆栈跟踪&例外,使得例外不要分散在多行中。
- 我期待解决这个在rsyslog结束,但也困惑, 天气这可以解决在Nxlog服务器端也?
任何帮助将不胜感激。
是的,这也可以解决在NXLog侧xm_multiline。 – b0ti
可以在nxlog端进行哪些准确的配置更改? 我nxlog文件:http://stackoverflow.com/questions/33233633/nxlog-ignores-multiline-tomcat-stacktraces-while-sending-to-papertrail –