Chinaunix首页 | 论坛 | 博客
  • 博客访问: 412010
  • 博文数量: 59
  • 博客积分: 1510
  • 博客等级: 上尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 11:50
文章分类

全部博文(59)

文章存档

2011年(1)

2010年(36)

2009年(22)

我的朋友

分类: LINUX

2010-07-14 17:09:38

安装rsyslog

安装可以选择RPM包和编译源码

RPM最新的好像只有2.0版本的(rsyslog-2.0.0-11.el5.rpm),另外还需要安装一下rsyslog-mysql这个包

源码编译的最新版本是
 ,可以从 上下载

3系列和2系列比有不小的改动,把很多功能都做成了模块化,在
/etc/rsyslog.conf里调用

3系向下兼容2系,但是这样很多新的功能模块就不能在rsyslog.conf里调用了

关键看需不需要使用这些新功能,如果只是要做为中心日志接收服务器,或者将日志插入mysql等数据库操作,2系列就够了,如果要对其中的参数及细微功能进行配置,那就可能需要3系列了

下面是2系列的配置:

1.插日志到数据库(两种需求):

(1)修
改 /etc/rsyslog.conf
添加
$ModLoad ommysql.so
*.*       :ommysql:database-server,database-name,database-userid,database-password

上面的数据库连接字段改成实际的内容

plugins下有个ommysql目录,下面有个mysql脚本,导入到mysql数据库

关闭原来的syslog服务
启动rsyslog服务,log数据就可以写进数据库了


(2)将日志写入自定义数据库
如果想自己开发web或用其他web监控软件(如cacti)来显示筛选系统日志,可以配置rsyslog按照要求写数据库

以cacti为例,它的syslog插件生成的数据库是syslog-ng的结构,字段没有rsyslog自己生成的那么多和详细
只有几个:host, facility, priority, date, time, message
所以需要自定义写入数据库的字段

在/etc/rsyslog.conf添加以下内容:

$ModLoad ommysql.so
$template syslog-ng,"insert into syslog(host, facility, priority, date, time, message) values ('%HOSTNAME%', %syslogfacility%, %syslogpriority%, '%timereported:::date-mysql%', '%timereported:::date-mysql%', '%msg%')", SQL

*.*             >127.0.0.1,cacti,cactiuser,cactiuserpasswd;syslog-ng

重新启动rsyslog服务就可以往数据库插记录了

2.配置中心服务器:
修改/etc/sysconfig/rsyslog

找到SYSLOGD_OPTIONS="-m 0"

修改成SYSLOGD_OPTIONS="-r -m 0"

保存退出,重新启动服务就可以了

检查514端口是否已经处于了监听状态


要发送日志的服务器配置也很简单(必须也装了rsyslog):

修改/etc/rsyslog.conf

添加 *.*    @中心日志服务器域名或IP

重新启动rsyslog

现在所有日志都会被发送到中心日志服务器

3系列的配置

tar zxf rsyslogxxx.tar.gz

./configure --enable-mysql && make && make install
完成后会在/usr/local/sbin/下有个rsyslogd的可执行文件

rsyslogd -c3
运行在v3模式,也就是不和2系列兼容,比如开启中心服务器功能必须在rsyslog.conf里配置,而不能直接在命令行设置

rsyslogd -r514 -x
运行在兼容模式
,-r514指开放514端口接收发送过来的日志,-x指不进行域名解析

当运行在v3模式下时,就可以调用模块了
$ModLoad immark  # provides --MARK-- message capability
$ModLoad imudp  # provides UDP syslog reception
$ModLoad imtcp  # provides TCP syslog reception
$ModLoad imgssapi  # provides GSSAPI syslog reception
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
接下来定义参数,比如定义发送日志的一些属性
$WorkDirectory /rsyslog/work  # default location for work (spool) files
$ActionQueueType LinkedList   # use asynchronous processing
$ActionQueueFileName srvrfwd  # set file name, also enables disk mode
$ActionResumeRetryCount -1    # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
*.*       @@server:port

定义upd 514端口

$ModLoad imudp.so

$UDPServerAddress 192.168.2.1 # this MUST be before the $UDPServerRun directive!
#"$UDPServerAddress *" means listen on all local interfaces. This is the default if no directive is specified.
#Please note that now multiple listeners are supported. For example, you can do the following:
$UDPServerRun 514

修改2.0的那个启动脚本符合新版本的路径,或用新的rsyslogd覆盖旧的,并注释掉rklogd相关的行

如果直接装的3,好像没找到启动脚本,要自己写一个,有空贴出来

以上哪一步骤如果没有成功,可以查看/var/log/messages 来排错。

摘自:http://edwinzhou.blog.hexun.com/20668674_d.html

阅读(6477) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~