为了账号安全,请及时绑定邮箱和手机立即绑定

cacti配置流量监控二---使cacti支持cacti-spine轮询机制

标签:
MySQL

一、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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消