Syslog 安装 (中央日志收集器)
syslog插件可将网络中所有设备的日志信息收集到一起,并将接收到的信息写入到数据库中,通过插件web界面可以实现简单的日志查询功能。因此,首先要配置一台rsyslog日志中心服务器来接收客户机的日志,并将日志数据存放到mysql中,其次,配置cacti的syslog插件,通过该插件检索与查询mysql中的日志,syslog可以收集来自linux、windows(需要安装软件将格式统一即可)等服务器和交换机路由器的日志,并做到集中和分类查看。
一、将Cacti服务器配置为syslog服务器
1.安装rsyslog,首先需要在监控端安装rsyslog和rsyslog-mysql
[root@game-inc ~]# yum -y install rsyslog-mysql #centos6.0 默认已经安装rsyslog
2.编辑rsyslog的配置文件(/etc/rsyslog.conf)
[root@game-inc ~]# vi /etc/rsyslog.conf
在其最后添加下面的内容:
##cacti_syslog model
# 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:game-inc,syslog,cacti,p@ssw0rd;cacti_syslog
# Write the log to the /var/log/file.log repeat
*.* /var/log/file.log
其中syslog为数据库,cacti为数据库用户,p@ssw0rd为密码,cacti_syslog为模板名称
编辑完成后,保存并退出。
3.修改/etc/sysconfig/rsyslog文件
[root@game-inc opt]# vi /etc/sysconfig/rsyslog
修改以下代码,使rsyslog能够远程接收日志# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-r -m 0"
KLOGD_OPTIONS="-x"保存并退出!
4.重启rsyslog
[root@game-inc opt]# service rsyslog restart
二、安装syslog插件
1.安装syslog插件
[root@game-inc opt]# tar zxf syslog-v1.22-2.tgz
[root@game-inc opt]# mv syslog /var/www/html/cacti/plugins
2.创建数据库syslog,并导入数据
[root@game-inc opt]mysql -uroot
mysql>create database syslog;
mysql> grant all privileges on syslog.* on cacti@localhost identified by 'p@ssw0rd'
mysql>flush privileges;
mysql>exit;
[root@game-inc opt]mysql -ucacti -pp@ssw0rd syslog --default-character-set=utf8</var/www/html/cacti/plugins/syslog/syslog.sql #导入数据库结构
3.修改配置文件config.php
[root@game-inc opt]# cd /var/www/html/cacti/plugins/syslog/
[root@game-inc syslog]# vi config.php
+-------------------------------------------------------------------------+
*/global $config, $database_type, $database_default, $database_hostname;
global $database_username, $database_password, $database_port;/* revert if you dont use the Cacti database */
$use_cacti_db = false;if (!$use_cacti_db) {
$syslogdb_type = 'mysql';
$syslogdb_default = 'syslog';
$syslogdb_hostname = 'localhost';
$syslogdb_username = 'cacti';
$syslogdb_password = 'p@ssw0rd';
$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;修改配置文件,特别注意$syslogdb_default = 'syslog',由于我们不使用cacti的数据库(本文中为cacit)而使用我们刚刚建立的syslog数据库,所以将$use_cacti_db = true,改为$use_cacti_db = false; 因为syslog日志往往比较多,为了便于备份和使用,还是选择用一个独立的数据库来存储日志信息。此外还要在下面设置连接数据库的用户名,密码,数据库名等
被监控端设置
如果希望本机cacti服务器能够作为日志服务器的被监控端,只需修改其中的/etc/rsyslog.conf的的设置即可,如下
[root@game-inc syslog]# vi /etc/rsyslog.conf
在最后一行添加 *.* @@10.248.34.130
网络设备设置
以华为S5700为例,系统视图下执行
info-center loghost 10.248.34.130 facility local5
三、cacti主页中启动syslog
和其他的插件启动一样的设置,这里不再叙述
这里有一些设置比如:数据库引擎的选择,以及日志保存的时间等
再稍等一会就可以看到有日志出现了。
至此所有的部署工作以及插件安装工作都已经完成
本文出自 “王11” 博客,谢绝转载!