CACTI安装syslog插件
Cacti安装syslog插件,使之成为中央日志服务器,通过syslog插件展示,从服务器通过网络将日志实时发送到中央日志服务器。
syslog插件,是通过rsyslog或syslog-ng与mysql的交互,将日志存放到mysql数据库中,cacti中的syslog插件从mysql中检索查看日志数据。因此,首先要配置一台rsyslog与mysql的日志中心服务器来接收客户机的日志;其次,配置cacti的syslog插件,通过该插件检索与查询mysql中的日志。可以收集来自linux、windows等服务器和交换机路由器的日志。做到集中和分类查看。
其中涉及到的有监控端和被监控端,以下从这两个方向说起:
第一个、监控端(即安装Cacti的服务器)
一、设置接收日志
在这里我们要想接收日志信息,并在cacti的syslog插件中显示接收到的日志,首先是接收日志,有二种办法:
a.使用syslog-ng,在centos5.5及以下系统上,系统默认有syslog,可以发送日志,但不能接受日志,因此要借助于syslog-ng,来接收发送过来的日志,并规范成一个模版,再通过自己写的脚本,插入到mysql数据库里
b.使用rsyslog,rsyslog是在centos6以上系统自带的,rsyslog不仅能接收日志,还可以发送日志,因此要是在centos6以上系统就不需要额外安装syslog-ng接收日志了,用自带的rsylog就可以接收日志,再用rsyslog-mysql就可以把接收到的日志写入mysql数据库。
由于我现在的系统是centos6.0,因此不采用第一种,而是采用第二种方案进行设置;
1.安装rsyslog,首先需要在监控端安装rsyslog和rsyslog-mysql
(由于我本身已经安装了,其显示信息的如下:)
2.编辑rsyslog的配置文件(/etc/rsyslog.conf)
在其最后添加下面的内容:
##新增加的内容
# provides UDP syslog reception
$ModLoad imudp
# start a UDP syslog server at standard port 514
$UDPServerRun 514
# Provides kernel logging support (previously done by rklogd)
$ModLoad imklog
# Provides support for local system logging (e.g. via logger command)
$ModLoad imuxsock
# provides --MARK-- message capability
$ModLoad immark
# provides UDP syslog reception
$ModLoad imudp
# provides TCP syslog reception and GSS-API (if compiled to support it)
$ModLoad imtcp
# provides mysql
$ModLoad ommysql
# Use costomer timestamp format
$template cacti_syslog,"INSERT INTO syslog_incoming(facility, priority, date, time, host, message) values (%syslogfacility%, %syslogpriority%, '%timereported:::date-mysql%', '%timereported:::date-mysql%', '%HOSTNAME%', '%msg%')", SQL
# Insert the log's text into the Syslog database by the costomer timestamp format of the cacti_syslog template
*.* :ommysql:localhost,syslog,cacti,123456;cacti_syslog
# Write the log to the /var/log/file.log repeat
*.* /var/log/file.log
其中syslog为数据库,cacti为数据库用户,123456为密码
编辑完成后,保存并退出。
3.修改/etc/sysconfig/rsyslog文件
添加以下代码,使之允许远程接收日志
保存并退出!
4.重启rsyslog,
二、安装syslog插件
1.下载并安装syslog插件
#tar xvf syslog-v1.22-2.tar
#mv syslog ./cacti/plugins
#chown -R cacti.cacti
2.创建数据库syslog,并导入数据
#mysql -ucacti -p123456
mysql>create database syslog;
mysql>grant all privileges on syslog.* on cacti@localhost identified by '123456' with grant option;
mysql>flush privileges;
mysql>exit;
#mysql -ucacti -p123456 syslog
--default-character-set=utf8</var/www/cacti/plugins/syslog/syslog.sql
3.修改配置文件config.php
我们在上面设置为$use_cacti_db = false;这个是设置syslog是否要使用cacti的数据库,我在这里不使用cacti的数据,因为syslog往往比较多,日志比较多,为了便于备份和使用,还是选择用一个独立的数据库。因此要在下面设置连接数据库的用户名,密码,数据库名等
第二个、被监控端
被监控端的设置很简单,只是修改其中的/etc/rsyslog.conf的的设置即可,如下
在最后一行添加
(注:192.168.7.125为我们监控端的IP)
三、cacti主页中启动syslog
和其他的插件启动一样的设置,这里不再赘述!简单说说刚启动后,出现的一些设置情况,
这里是对syslog数据的一些设置第分别为Database Storage Engine(数据库存储引擎)、Database Architecutre(数据库架构)这二项在一般默认,如果你的mysql数据库为5.1.6后者以上可以选择InnoDB Storage 和Partitioned Table,可以提高syslog的性能最后一项是Retention Policy(保留策略)就是要在syslog存储多长的时间,这个可以根据自己的需求设定 。