Rsyslog简介
ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地。
rsyslog是一个开源工具,被广泛运用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。
在大多数据的Linux发行版中,rsyslog是一个预先安装的标准日志后台进程。
我的主机上为rsyslog-7.4.2版本
我们在自己的主机上实现将rsyslog守护进程配置成两种不同的环境,做客户端和服务端
Rsyslog服务的默认的主配置文件在/etc/rsyslog.conf
主程序为/user/sbin/rsyslogd
rsyslog配置文件
vim /etc/rsyslog.conf
#### MODULES 日志的模块####
$ModLoad imuxsock #imuxsock是模块名,支持本地系统日志的模块
$ModLoad imklog #imklog是模块名,支持内核日志的模块
#module(load="imfile") #文本文件输入模块,提供转换任何标准输入文件为一个syslog消息(客)
#$ModLoad immark #immark是模块名,支持日志标记
#$ModLoad imudp #imupd是模块名,支持udp协议
#$UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志
#$ModLoad imtcp #imtcp是模块名,支持tcp协议
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####定义全局日志格式的指令
$ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat #定义日志格式默认模板
$IncludeConfig /etc/rsyslog.d/*.conf #载入rsyslog.d文件中所有以conf结尾的文件
#### RULES ####
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#####记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间#任务相关的信息除外
authpriv.* /var/log/secure
#####authpriv验证相关的所有信息存放在/var/log/secure
mail.* -/var/log/maillog
#####邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大
cron.* /var/log/cron
####计划任务有关的信息存放在/var/log/cron
*.emerg * (*表示所有用户)
###记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人
uucp,news.crit /var/log/spooler
####记录uucp,news.crit等存放在/var/log/spooler
local7.* /var/log/boot.log
####本地服务器的启动的所有日志存放在/var/log/boot.log中
###rsyslog.conf中日志规则的定义的格式
facitlity.priority Target
#facility: 日志设备(可以理解为日志类型):
==============================================================
auth #pam产生的日志,认证日志
authpriv #ssh,ftp等登录信息的验证信息,认证授权认证
cron #时间任务相关
kern #内核
lpr #打印
mail #邮件
mark(syslog) #rsyslog服务内部的信息,时间标识
news #新闻组
user #用户程序产生的相关信息
uucp #unix to unix copy, unix主机之间相关的通讯
local 1~7 #自定义的日志设备
===============================================================
#priority: 级别日志级别:
=====================================================================
debug #有调式信息的,日志信息最多
info #一般信息的日志,最常用
notice #最具有重要性的普通条件的信息
warning, warn #警告级别
err, error #错误级别,阻止某个功能或者模块不能正常工作的信息
crit #严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert #需要立刻修改的信息
emerg, panic #内核崩溃等严重信息
###从上到下,级别从低到高,记录的信息越来越少,如果设置的日志内性为err,则日志不会记录比err级别低的日志,只会记录比err更高级别的日志,也包括err本身的日志。
=====================================================================
Target:
#文件, 如/var/log/messages
#用户, root,*(表示所有用户)
#日志服务器,@172.16.22.1
#管道 | COMMAND