您的位置:首页 > 其它

rsyslog系统日志转发

2017-03-30 16:09 369 查看
ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。
  特性:1.多线程
     2.支持加密协议:ssl,tls,relp
     3.mysql、oracle、postgreSQL
     4.等等..



在日志接受端部署:
安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:)
#yum install rsyslog -y
编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下
#grep -v "^#" /etc/rsyslog.conf | grep -v "^$"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad immark  # provides --MARK-- message capability
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$AllowedSender tcp, 10.4.0.0/16
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%.log"
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
*.info;mail.none;authpriv.none;cron.none              /data/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log



这是开启udp和tcp协议并监听514端口
$AllowedSender tcp, 10.4.0.0/16 允许网段内的主机以tcp协议来传输
$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%.log" 定义模板,接受日志文件路径,区分了不同主机的日志(日期也可以定义为%$YEAR%-%$MONTH%-%$DAY%年月日)
:fromhost-ip, !isequal, "127.0.0.1" ?Remote 过滤server 本机的日志。
#mkdir -pv /data/log
创建日志存放的目录,建议选择分区比较大的位置
#service rsyslog restart
重启rsyslog服务
#netstat -aulntp | grep rsyslog
监听tcp和udp的514端口




在日志发送端操作:
打开配置文件,先备份下在进行修改 /etc/rsyslog.conf,修改完记得要重启程序
#grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"
$ActionFileDefaultTemplate myFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
*.info;mail.none;authpriv.none;cron.none                @@10.4.66.122
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log                                              /var/log/boot.log
在服务器上进到 /data/log 目录下,进行查看,会发现以下类似的文件



如果验证失败的话,先检查selinux 是否关闭。后将udp 514 端口和tcp 514端口在iptables内放行即可,或者关闭iptables 服务。该操作在每台机器上进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息