解说SYSLOG的工作原理
SYSLOG插件是通过RSYSLOG或者SYSLOG-NG与MYSQL的共同使用来存取日志内容。RSYSLOG或者SYSLOG-NG先将日志内容接收到来,然后写入到MYSQL的数据库中,SYSLOG这个插件再从MYSQL数据库中读取数据显示出来。
接收日志
接收日志在CENTOS上有两种方式:
在centos5.5及以下系统上,系统默认有syslog,可以发送日志,但不能接受日志,因此要借助于syslog-ng,来接收发送过来的日志,并规范成一个模版,再通过自己写的脚本,插入到mysql数据库里。
使用rsyslog,rsyslog是在centos6以上系统自带的,rsyslog不仅能接收日志,还可以发送日志,因此要是在centos6以上系统就不需要额外安装syslog-ng接收日志了,用自带的rsylog就可以接收日志,再用rsyslog-mysql就可以把接收到的日志写入mysql数据库。
使用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
配置syslog的数据库
mysql -uroot -p
create database syslog;
GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY 'passwd;
quit;
建立新的数据库名字为syslog,并设置cactiuser对这个数据库操作的密码为passwd与上面设置连接时的密码一样
安装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自身的数据库,是使用刚才在上面建立的数据来存日志内容。标红的为连接时使用的数据库名和用户密码等
启用SYSLOG插件
打开CACTI到主页面点console—Plugin Management界面把syslog这个插件进行启用就OK了。接下来就是设置各种设备的日志存到这里来,就可以了,观察有没有接收到日志文件。若是没有接收到,先到数据库里看下SYSLOG里面有没有收到数据内容。到此就算安装完了SYSLOG的插件。
网友评论