分类: 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 来排错。