Rsyslog时CentOS6.X自带的一款系统日志工具,相对与Centos5的syslog,有了很大的提升,拥有如下特性:
1.支持多线程
2.支持TCP,SSL,TLS,RELP等协议
3.支持将日志写入MySQL, PGSQL, Oracle等多种关系型数据中
4.拥有强大的过滤器,可实现过滤系统信息中的任意部分
5.可以自定义日志输出格式
6.适用于企业级的日志记录需求
今天,我们就来了解一下Rsyslog的使用以及利用loganalyzer来通过网页管理日志.
1.rsyslog的配置文件
Rsyslog的配置文件为/etc/rsyslog.conf,其中共分为三块内容:
A.定义模块相关信息
#### MODULES ####
$MmodLoad imuxsock #用于加载模块
.....
B定义全局的配置信息
#### GLOBAL DIRECTIVES ####
$IncludeConfig /etc/rsyslog.d/*.conf#用于加载其他的配置文件,实现分段管理
C.定义日志记录规则
#### RULES ####
*.info;mail.none;authpriv.none;cron.none/var/log/messages #定义各类型日志存放位置
2.rsyslog规则定义格式:
facility.priority Targetauth #pam产生的日志,认证日志
#===============facility(设施)包含以下几种=====================
auth #认证日志
authpriv #认证授权认证
cron #任务计划相关日志
kern #内核相关日志
lpr #打印
mail #邮件日志
mark(syslog) #rsyslog服务内部的信息,时间标识
news #新闻组
user #用户程序产生的相关信息
uucp #一个古老的协议
local 0~7 #用户自定义
#-------------------------------------------------------------
facilicy可以使用以下通配符:
*:所有设施
f1,f2,f3.....:列表
!:取反
#=====================priority(级别)包含如下级别=====================
debug#由上到下级别越来越高,
info#同时,日志的内容也越来越少
notice#只会记录更加重要的信息
warn, warning#可以使用如下通配符:
err, error#*:代表所有级别
crit#none:代表没有任何级别
alert
emerg, panic
#------------------------------------------------------------------
指定级别用法:
mail.info :记录info及以上级别的日志,包含级别本身
main.=info:仅记录info级别的
mail.!info:除了info级别均记录
mail.news.info
mail.info;auth.error
#====================Target(目标)=================
/path/to/file#路径
*#打印到已登录的用户界面
@ServerIP#发送到日志服务器
|COMMAND#发送到指定目录进行处理
3.日志服务器的搭建
现在由两台服务器host1(172.16.21.101)和host2(172.16.21.102),需要将host1的部分日志存储到host2上,实现过程如下
(1).在host1上编辑/etc/rsyslog.conf文件,编辑 RULES 块下的如下内容
*.info;mail.none;authpriv.none;cron.none @172.16.21.102
(2).在host2上编辑/etc/rsyslog.conf文件,在MODULES块下添加如下内容
$ModLoad imudp
$UDPServerRun 514
(3).分别重启host1和host2的日志服务
------------------------------------------------
测试:
在host1上通过yum安装一个软件
[root@host1 ~]# yum install zsh -y
Host1的日志已经传送到了host2
4.搭建基于loganalyzer的web-gui接口,实现对日志的可视化管理
a) 搭建LAMP平台
b) 配置mysql支持rsyslog
在rsyslog.conf文件中加载ommysql模块并将特定数据库内容写入mysql
#### MODULES ####
.........
$ModLoad ommysql
#### RULES ####
........................
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,syslog,123456
--------------------------------
在数据库中查看,数据已经写入数据库中
c) 下载loganalyzer源码包并解压到root的家目录
d) 将src目录下的所有内容复制到httpd的根目录,并赋予权限
e) 通过网页访问host2的http服务器,并按提示进行安装
此时,安装已经成功!