CACTI安装SYSLOG插件无标题文章

解说SYSLOG的工作原理

SYSLOG插件是通过RSYSLOG或者SYSLOG-NG与MYSQL的共同使用来存取日志内容。RSYSLOG或者SYSLOG-NG先将日志内容接收到来,然后写入到MYSQL的数据库中,SYSLOG这个插件再从MYSQL数据库中读取数据显示出来。

  1.   接收日志
    

接收日志在CENTOS上有两种方式:

在centos5.5及以下系统上,系统默认有syslog,可以发送日志,但不能接受日志,因此要借助于syslog-ng,来接收发送过来的日志,并规范成一个模版,再通过自己写的脚本,插入到mysql数据库里。

使用rsyslog,rsyslog是在centos6以上系统自带的,rsyslog不仅能接收日志,还可以发送日志,因此要是在centos6以上系统就不需要额外安装syslog-ng接收日志了,用自带的rsylog就可以接收日志,再用rsyslog-mysql就可以把接收到的日志写入mysql数据库。

  1.   使用RSYSLOG
    

在这里我只使用RSYSLOG来安装接收日志文件,因为我的系统是CENTOS6.5。

配置RSYSLOG的配置文件

vi /etc/rsyslog.conf

在文件的最后添加如下代码

$ModLoad imudp.so

$UDPServerRun 514

$ModLoad ommysql

$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

*.*    >localhost,syslog,cactiuser,passwd;cacti_syslog

上面的配置解释

使用UDP 514端口去接收日志信息,接收到的内容使用MYSQL来存放,其中存入的内容有facility(设备), priority(警告等级), date(日期), time(时间), host(主机名), message(日志内容),其中上面带红色的分别为数据库的名称、连接数据库的用户名、和连接的密码。

然后保存,重新启动rsyslog,并设置rsyslog开机启动

chkconfig rsyslog on

service rsyslog restart
  1.   配置syslog的数据库
    
mysql -uroot -p
create database syslog;
GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY 'passwd;
quit;

建立新的数据库名字为syslog,并设置cactiuser对这个数据库操作的密码为passwd与上面设置连接时的密码一样

  1.   安装syslog插件
    
wget http://docs.cacti.net/_media/plugin:syslog-v1.22-2.tgz -O syslog.tgz
tar zxvf syslog*.tgz -C /var/www/html/plugins

下载SYSLOG并解压文件到plugins下

编辑config.php对照下面的配置红色的来改

vi /var/www/html/plugins/syslog/config.php

$use_cacti_db = false;

if (!$use_cacti_db) {

        $syslogdb_type     = 'mysql';

        $syslogdb_default  = 'syslog';

        $syslogdb_hostname = 'localhost';

        $syslogdb_username = 'cactiuser';

        $syslogdb_password = 'passwd';

        $syslogdb_port     = 3306;

}else{

        $syslogdb_type     = $database_type;

        $syslogdb_default  = $database_default;

        $syslogdb_hostname = $database_hostname;

        $syslogdb_username = $database_username;

        $syslogdb_password = $database_password;

        $syslogdb_port     = $database_port;

}

上面的配置内容就是让SYSLOG这个插件不使用系统的CACTI自身的数据库,是使用刚才在上面建立的数据来存日志内容。标红的为连接时使用的数据库名和用户密码等

  1.   启用SYSLOG插件
    

打开CACTI到主页面点console—Plugin Management界面把syslog这个插件进行启用就OK了。接下来就是设置各种设备的日志存到这里来,就可以了,观察有没有接收到日志文件。若是没有接收到,先到数据库里看下SYSLOG里面有没有收到数据内容。到此就算安装完了SYSLOG的插件。

你可能感兴趣的:(CACTI安装SYSLOG插件无标题文章)