江南才子 发表于 2021-7-4 13:38:23

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

  一、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-yinstallnet-snmp-develmysql-developenssl-devel            三、下载并安装cacti-spine的源代码
  在shell中执行:
                          cd/usr/local/src
  wgethttp://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
  tarxvfzcacti-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(可以看到如下几行)         
  由头文件定义的配置路径,可以看到配置文件config file的路径定义。
  2、修改spine.conf配置文件
                        vim   /etc/spine.conf            将其中的一行改为:DB_Pass         cacti

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

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

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


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

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

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

  在图示的“Poller Type”单选框中,选择spine后,单击右下脚的保存按钮。
  此时已经完成对spine的所有配置。
  3、查看cacti.log,看cacti是否选择了spine而不是cmd.php来进行轮询,在shell中执行命令:
                        tail   -f   /var/www/html/cacti/log/cacti.log         
  从日志中,可以看到cacti已经在启用spine来进行轮询了。
  还可以发现,spine有线程Threads机制,而cmd.php则没有。

  
页: [1]
查看完整版本: cacti配置流量监控二---使cacti支持cacti-spine轮询机制