Linux 之 rsyslog 系统日志转发

本文发布时间: 2019-Mar-22
一、rsyslog 介绍  ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。  特性:1.多线程     2.支持加密协议:ssl,tls,relp     3.mysql、oracle、postgreSQL     4.等等..二、实践部署()2.1 环境图  2.2.rsyslog server上部署操作安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:)[root@opm ~]# yum install rsyslog -y编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下[root@opm log]# grep -v '^#' /etc/rsyslog.conf | grep -v '^$'$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imjournal # provides access to the systemd journal$ModLoad immark # provides --MARK-- message capability$ModLoad imudp$UDPServerRun 514$ModLoad imtcp$InputTCPServerRun 514$WorkDirectory /var/lib/rsyslog$AllowedSender tcp, 192.168.30.0/24$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat$template Remote,'/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log':fromhost-ip, !isequal, '127.0.0.1' ?Remote$IncludeConfig /etc/rsyslog.d/*.conf$OmitLocalLogging on$IMJournalStateFile imjournal.state*.info;mail.none;authpriv.none;cron.none /data/log/messagesauthpriv.* /var/log/securemail.* -/var/log/maillogcron.* /var/log/cron*.emerg :omusrmsg:*uucp,news.crit /var/log/spoolerlocal7.* /var/log/boot.loga.$AllowedSender tcp, 192.168.30.0/24 允许 30.0网段内的主机以tcp协议来传输b.$template Remote,'/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log' 定义模板,接受日志文件路径,区分了不同主机的日志c.:fromhost-ip, !isequal, '127.0.0.1' ?Remote 过滤server 本机的日志。d.$InputTCPServerRun 514 开启tcp,tcp和udp 可以共存的创建日志目录,尽量选择系统内比较大的区域创建,因为考虑到要存放很多服务器的日志文件。[root@opm ~]# mkdir -pv /data/log修改完成无误后,重启rsyslog服务,并查看监听端口,514 是否是tcp协议[root@opm ~]# systemctl restart rsyslog[root@opm ~]# netstat -aulntp | grep rsyslogtcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 20228/rsyslogd tcp6 0 0 :::514 :::* LISTEN 20228/rsyslogd udp 0 0 0.0.0.0:514 0.0.0.0:* 20228/rsyslogd udp6 0 0 :::514 :::* 20228/rsyslogd 2.3 客户端上操作:node1 上进行配置打开配置文件,老样子,先备份下在进行修改 /etc/rsyslog.conf,修改完记得要重启程序[root@node1 ~]# grep -v '^$' /etc/rsyslog.conf | grep -v '^#'$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imjournal # provides access to the systemd journal$WorkDirectory /var/lib/rsyslog$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat$template myFormat,'%timestamp% %fromhost-ip% %msg%'$ActionFileDefaultTemplate myFormat$IncludeConfig /etc/rsyslog.d/*.conf$OmitLocalLogging on$IMJournalStateFile imjournal.state*.info;mail.none;authpriv.none;cron.none @@192.168.30.55authpriv.* /var/log/securemail.* -/var/log/maillogcron.* /var/log/cron*.emerg :omusrmsg:*uucp,news.crit /var/log/spoolerlocal7.* /var/log/boot.logceph3 上进行配置,重启rsyslog程序打开配置文件/etc/rsyslog.conf[root@ceph3 ~]# grep -v '^$' /etc/rsyslog.conf | grep -v '^#'$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imjournal # provides access to the systemd journal$WorkDirectory /var/lib/rsyslog$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat$IncludeConfig /etc/rsyslog.d/*.conf$OmitLocalLogging on$IMJournalStateFile imjournal.state*.info;mail.none;authpriv.none;cron.none @@192.168.30.55authpriv.* /var/log/securemail.* -/var/log/maillogcron.* /var/log/cron*.emerg :omusrmsg:*uucp,news.crit /var/log/spoolerlocal7.* /var/log/boot.log$template myFormat,'%timestamp% %fromhost-ip%%msg%'$ActionFileDefaultTemplate myFormat最后重启客户端上的rsyslog程序2.4 验证,在服务器上进到 /data/log 目录下,进行查看,会发现以下类似的文件结构[root@opm ~]# tree /data/log//data/log/├── 192.168.30.56│ └── 192.168.30.56_2016-05-05.log├── 192.168.30.57│ └── 192.168.30.57_2016-05-05.log└── messages2 directories, 3 filesmessages:server 端的系统日志文件夹192.168.30.56: node1 客户端的日志文件夹192.168.30.57: ceph3 客户端的日志我们这里只查看node1 的系统日志吧。server 上进行操作[root@opm ~]# tail -f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log May 5 20:50:45 node1 rsyslogd: [origin software='rsyslogd' swVersion='7.4.7' x-pid='9296' x-info='http://www.rsyslog.com'] exiting on signal 15.May 5 20:50:45 node1 rsyslogd: [origin software='rsyslogd' swVersion='7.4.7' x-pid='9334' x-info='http://www.rsyslog.com'] startMay 5 20:50:45 node1 systemd: Stopping System Logging Service...May 5 20:50:45 node1 systemd: Starting System Logging Service...May 5 20:50:45 node1 systemd: Started System Logging Service.这里还可以在node1上在命令行里输入 logger “this is test ” 发送消息,server上进行查看下[root@opm ~]# tail -1f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log May 5 20:52:46 node1 root: this is test三、总结  以前不知道,总以为很难,现在感觉rsyslog还是挺简单的。不过简单是因为我们只是用了最简单方法,而且功能也是只用了转发,后续会尝试如何记录转发其它服务的日志,比如mysql、zabbix、以及nova 服务的日志。这些才是最终的目的。出处 http://www.cnblogs.com/hanyifeng/p/5463338.html


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表