rsyslog的介绍
logrotate日志滚动的介绍
rsyslog的存储途径
基于web的loganalyzer日志分析工具的搭建
一、rsyslog的介绍
Linux的日志记录了用户在系统上一切操作,看日志去分析系统的状态是运维人员必须掌握的基本功。
rsyslog日志服务器的优势:
1、日志统一,集中式管理
2、日志实时传送到一个更加安全的远端服务器上,真正记录用户行为,使日志的2次更改可能性大大降低,从而能够对日志进行真实回放,便于问题追踪。
rsyslog的新功能:
rsyslog是一个加强版的syslog,具有各种各样的新功能,典型的有:
1、直接将日志写入到数据库。
2、日志队列(内存队列和磁盘队列)。
3、灵活的模板机制,可以得到多种输出格式。
4、插件式结构,多种多样的输入、输出模块。
5、可以把日志存放在Mysql ,PostgreSQL,Oracle等数据库中
rsyslog的软件包
[root@jie1 ~]# rpm -qa | grep rsyslog 
rsyslog-5.8.10-6.el6.x86_64  #软件包系统默认已经安装 
[root@jie1 ~]# rpm -ql rsyslog  #只显示了部分信息 
/etc/logrotate.d/syslog
/etc/rsyslog.conf    #rsyslog的配置文件 
/etc/sysconfig/rsyslog
/lib64/rsyslog/imfile.so 
/lib64/rsyslog/imklog.so  #rsyslog的模块,i开头的是输入模块 
/lib64/rsyslog/immark.so 
/lib64/rsyslog/impstats.so 
/lib64/rsyslog/imptcp.so 
/lib64/rsyslog/imtcp.so 
/lib64/rsyslog/imudp.so 
/lib64/rsyslog/imuxsock.so 
/lib64/rsyslog/lmnet.so 
/lib64/rsyslog/lmnetstrms.so 
/lib64/rsyslog/lmnsd_ptcp.so 
/lib64/rsyslog/lmregexp.so 
/lib64/rsyslog/lmstrmsrv.so 
/lib64/rsyslog/lmtcpclt.so 
/lib64/rsyslog/lmtcpsrv.so 
/lib64/rsyslog/lmzlibw.so 
/lib64/rsyslog/ommail.so  #o开头的模块是输出模块 
/lib64/rsyslog/omprog.so 
/lib64/rsyslog/omruleset.so 
/lib64/rsyslog/omtesting.so 
/lib64/rsyslog/omuxsock.so 
/lib64/rsyslog/pmlastmsg.so
rsyslog配置文件(/etc/rsyslog.conf)的详解
#### MODULES 日志的模块#### 
$ModLoad imuxsock  #imuxsock是模块名,支持本地系统日志的模块 
$ModLoad imklog    #imklog是模块名, 支持内核日志的模块 
#$ModLoad immark    #immark是模块名,支持日志标记 
#$ModLoad imudp    #imupd是模块名,支持udp协议 
#$UDPServerRun 514  #允许514端口接收使用UDP和TCP协议转发过来的日志 
#$ModLoad imtcp    #imtcp是模块名,支持tcp协议 
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####定义全局日志格式的指令 
$ActionFileDefaultTemplate RSYSLOG_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
相关阅读:
RHEL5.4部署中央日志服务器之rsyslog+Log Analyzer
CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
RHEL5.4部署中央日志服务器之rsyslog+loganalyzer
使用rsyslog mysql 和logAnalyzer 的日志服务器
