一、cacti-spine相关介绍
spine是一个基于C语言的,非常快速的轮询引擎。它是默认的cmd.php轮询的可选替代。当cacti监控的主机达到几十个的时候,这种采集数据延时情况就越发地显现出来。
二、安装系统支持环境
系统环境:Centos 5.5 X86
所需软件包:
1、net-snmp-devel(包含net-snmp所需的头文件)
2、mysql-devel(包含mysql的相关头文件)
3、openssl-devel(包含openssl的相关头文件)
此处使用yum安装,对于yum的配置及cacti所需的安装包,可参见前面的博文:
http://skyou.blog.51cto.com/2915693/541686
http://skyou.blog.51cto.com/2915693/542835
现在开始安装:
yum -y install net-snmp-devel mysql-devel openssl-devel
三、下载并安装cacti-spine的源代码
在shell中执行:
cd /usr/local/src
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
tar xvfz cacti-spine-0.8.7g.tar.gz
cd cacti-spine-0.8.7g
./configure --with-mysql
make && make install
四、配置cacti-spine
上面安装完成,其主目录在/usr/local/spine
1、将配置文件拷贝到/etc目录:
cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
此处将spine.conf配置文件拷贝到/etc/,有其原因,主要在于,cacti-spine的源代码的头文件spine.h中定义的配置文件目录为/etc目录。
可以打开spine.h头文件查看:
vim /usr/local/src/cacti-spine-0.8.7g/spine.h(可以看到如下几行)
Image00115
由头文件定义的配置路径,可以看到配置文件config file的路径定义。
2、修改spine.conf配置文件
vim /etc/spine.conf
将其中的一行改为:DB_Pass cacti
Image00116
此处的DB_Pass的密码主要与mysql中定义的一样:
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cacti';
3、将生成的二进制文件做个软链接
ln -s /usr/local/spine/bin/spine /bin/spine
此处主要是为方便cacti方便查找路径。
4、测试spine是否配置完成,在shell中执行:
spine(出现下图表示配置正确)
Image00117
注:如果是在编译安装mysql的系统里,执行上面会报如下错误:
Image00230
因为编译安装的mysql的socket文件一般都是/tmp/mysql.sock
因此这里需要将/tmp/mysql.sock做个软链接,将其链接到/var/lib/mysql/mysql.sock
执行:
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
此时再执行上面的spine命令时就不会报错了。
五、设置cacti,选择spine轮询机制运行
1、在浏览器中打开http://IPaddress/cacti,配置spine的路径path
在页面单击选择Console---Settings,如图所示:
Image00118
Image00119
单击图中看到Paths选项卡,单击后,会出现如下图:
Image00120
可以看到“Spine Poller File Path”一栏,在此框中,输入spine的文件所在路径,然后点击右下脚本的保存,如图:
Image00121
2、在cacti中选择spine轮询
在当前图示页中,选择“Poller”选项卡:
Image00122
在图示的“Poller Type”单选框中,选择spine后,单击右下脚的保存按钮。
此时已经完成对spine的所有配置。
3、查看cacti.log,看cacti是否选择了spine而不是cmd.php来进行轮询,在shell中执行命令:
tail -f /var/www/html/cacti/log/cacti.log
Image00126
从日志中,可以看到cacti已经在启用spine来进行轮询了。
还可以发现,spine有线程Threads机制,而cmd.php则没有。
©著作权归作者所有:来自51CTO博客作者sundy21cn的原创作品,如需转载,请注明出处,否则将追究法律责任
C语言mysql流量监控Cacti
共同学习,写下你的评论
评论加载中...
作者其他优质文章