cacti 中 syslog 插件,是通过 rsyslog 或 syslog-ng 与 mysql 的交互,将日志存放到 mysql 数据库中,cacti 中的 syslog 插件从 mysql 中检索查看日志数据。因此,首先要配置一台 rsyslog 与 mysql 的日志中心服务器来接收客户机的日志;其次,配置 cacti 的 syslog 插件,通过该插件检索与查询 mysql中的日志。可以收集来自 linux、windows 等服务器和交换机路由器的日志。做到集中和分类查看。
Cacti 0.8.7g在CentOS5.5上的安装(1)
Cacti 0.8.7g在CentOS5.5上的安装(2)
由于我们此次安装的是集成 PIA 的 cacti,因此不用单独安装 PIA,安装好 cacti 以后要启用 Plugin Management,然后我们下载 syslog 插件
1.设置接收日志
要想接收日志信息,并在 cacti 的 syslog 插件中显示接收到的日志,首先是接收日志,有二种办法:
1.使用 syslog-ng,在 centos5.5 及以下系统上,系统默认有 syslog,可以发送日志,但不能接受日志,因此要借助于 syslog-ng,来接收发送过来的日志,并规范成一个模版,再通过自己写的脚本,插入到 mysql 数据库里
2.使用 rsyslog,rsyslog 是在 centos6 以上系统自带的,rsyslog 不仅能接收日志,还可以发送日志,因此要是在 centos6 以上系统就不需要额外安装 syslog-ng 接收日志了,用自带的 rsylog 就可以接收日志,再用 rsyslog-mysql 就可以把接收到的日志写入 mysql 数据库
下面我分别说明:
A.使用 rsyslog
yum install -y rsyslog rsyslog-mysql
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,cactifans.org;cacti_syslog
然后保存,重新启动rsyslog,并设置rsyslog开机启动
chkconfig rsyslog on service rsyslog restart
B.使用syslog-ng
syslog-ng在默认的源里没有,可以编译安装,在这里我用yum安装syslog-ng
首先添加一个第三方源
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum install -y syslog-ng
安装好后我们配置syslog-ng
vi /etc/syslog-ng/syslog-ng.conf
在文件最后加入如下
source net { udp(); }; destination d_mysql { pipe("/tmp/mysql.pipe" template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG' );\n") template-escape(yes) ); }; log { source(net); destination(d_mysql); }; log { source(s_sys); destination(d_mysql); };
加入后保存,退出。
vi /sbin/syslogtomysql #!/bin/bash if [ ! -e /tmp/mysql.pipe ]; then mkfifo /tmp/mysql.pipe fi while [ -e /tmp/mysql.pipe ] do mysql -u cactiuser --password=cactifans.org syslog < /tmp/mysql.pipe done
chmod +x /sbin/syslogtomysql
/sbin/syslogtomysql &
/etc/init.d/syslog-ng start
vi /etc/rc.local
/sbin/syslogtomysql &
chkconfig syslog-ng on
至此syslog的设置完成
syslog-ng和rsyslog的设置就说到这里,基本都是差不多,不过rsyslog好设置一点不用独立写脚本就成。在centos6以上版本中也可以用syslog-ng来接收日志。以下的安装步骤就一样了。
2.配置syslog的数据库
mysql -uroot -p create database syslog; GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY 'cactifans.org; quit;
3.安装 syslog 插件
由于 syslog 依赖 settings 插件,所以安装 syslog 插件之前先安装 settings 插件
先安装 settings 插件
wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz -O settings.tgz tar zxvf settings.tgz -C /var/www/html/plugins chown -R apache:apache /var/www/html/plugins/settings
再安装 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 chown -R apache:apache /var/www/html/plugins/syslog
vi /var/www/html/plugins/syslog/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 = 'cactiuser'; $syslogdb_password = 'cactifans.org'; $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 已经安装,但是还没有启用,我们点那个绿色箭头就可以启用 syslog
启用后我们可以看到 syslog 了
4.被监控端设置
*.* @192.168.0.111
*.* @@192.168.0.111:514
logging 192.168.0.111
-------------------------
启用syslog时,就提示这个,谷歌百度无解,不知道为什么。
日志启动又很正常
本文链接:https://www.kinber.cn/post/1251.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: