sea_smart 发表于 2018-07-03 17:36

rsyslog监控日志系统请教

本帖最后由 sea_smart 于 2018-07-04 08:49 编辑

请教如何实现http或者nginx日志转发到服务端指定的位置(例如/data/log/httplog_20180703.log),请给出详细配置,谢谢!
(目前这个是最简单,能实现客户端所有日志转发到服务端的message中,但是不在/data/log产生日志,不解?)

服务端:192.168.0.15   客户端:192.168.0.12

服务端配置rsyslog.conf:
# grep -v ^# /etc/rsyslog.conf | grep -v ^$ |
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template HTTP,"/data/log/%192.168.0.12%/%192.168.0.12%_%$YEAR%-%$MONTH%-%$DAY%.log"
$AllowedSender tcp, 192.168.0.0/24
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                -/var/log/maillog
cron.*                                                /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
$WorkDirectory /var/lib/rsyslog # where to place spool files


客户端配置:
# grep -v ^# rsyslog.conf | grep -v ^$ | sed s/168.192.10/192.168.0/g
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                -/var/log/maillog
cron.*                                                /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
*.*      @@192.168.0.15:514


expert1 发表于 2018-07-11 13:53

nginx可以设置syslog的

# nginx.conf
access_logsyslog:server=<Syslog_server>:514,facility=local6,tag=nginx_access,severity=info main;

# rsyslog.conf
if $syslogfacility-text == 'local6' and $programname == 'nginx_access' then /var/log/nginx/xxx.log

大概是这样。这种问题,一搜一大把答案。既然选择了这行,基本自学能力应该是有的。


sea_smart 发表于 2018-07-13 19:44

回复 2# expert1
首先谢谢您的回答!我的想法是把任意程序的日志都能送到日志服务器,比如程序A,每天产生的日志 2018-07-12.log   2018-07-13.log .... 如何将这些日志通过syslog 协议 输送到 syslogd服务端某个挂载文件夹地方。查了下,需要自定义模板,一直没有实现。。。求大神指导:P


页: [1]
查看完整版本: rsyslog监控日志系统请教