RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析

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

CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

LogAnalyzer 的详细介绍请点这里
LogAnalyzer 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/cb32a18759b48f9554dc3950ae6040b9.html