评论

收藏

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

数据库 数据库 发布于:2021-07-04 13:38 | 阅读数:454 | 评论:0

  一、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(可以看到如下几行)
DSC0000.png

  由头文件定义的配置路径,可以看到配置文件config file的路径定义。
  2、修改spine.conf配置文件
  vim   /etc/spine.conf
  将其中的一行改为:DB_Pass         cacti
DSC0001.png

  此处的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(出现下图表示配置正确)
DSC0002.png

  注:如果是在编译安装mysql的系统里,执行上面会报如下错误:
DSC0003.png

  因为编译安装的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,如图所示:
DSC0004.png

DSC0005.png

  单击图中看到Paths选项卡,单击后,会出现如下图:
DSC0006.png

  可以看到“Spine Poller File Path”一栏,在此框中,输入spine的文件所在路径,然后点击右下脚本的保存,如图:
DSC0007.png

  2、在cacti中选择spine轮询
  在当前图示页中,选择“Poller”选项卡:
DSC0008.png

  在图示的“Poller Type”单选框中,选择spine后,单击右下脚的保存按钮。
  此时已经完成对spine的所有配置。
  3、查看cacti.log,看cacti是否选择了spine而不是cmd.php来进行轮询,在shell中执行命令:
  tail   -f   /var/www/html/cacti/log/cacti.log
DSC0009.png

  从日志中,可以看到cacti已经在启用spine来进行轮询了。
  还可以发现,spine有线程Threads机制,而cmd.php则没有。

  
关注下面的标签,发现更多相似文章