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 的日志服务器