lx86 发表于 2019-1-12 07:24:42

Cacti+Nagios完全攻略(三)spine及最新补丁的安装

  由于cmd.php不能满足项目需求,用spine替换掉
  1.下载Cacti-spine最新版本,(要同使用的cacti版本相匹配)

下载地址:http://www.cacti.net/downloads/spine/





2.由于安装spine,测试中发现,执行—with-snmp= /usr/include/net-snmp/报“error: Cannot find UCD-SNMP libraries(snmp)”这个错误,最后只能卸载之前用yum安装的net-snmp



a.卸载net-snmp

#yum list |grep net-snmp

#yum remove net-snmp



b.安装net-snmp源包

下载地址:http://sourceforge.net/projects/net-snmp/files/net-snmp/5.4.3/

#tar zxvf net-snmp-5.4.3.tar.gz

#cd net-snmp-5.4.3

#./configure --prefix=/usr/local/net-snmp

#make ;make install

#cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

#ln -s /usr/local/net-snmp/bin/* /usr/local/bin/

#/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

#echo“/usr/local/net-snmp/sbin/snmpd /usr/local/net-snmp/share/snmp/snmpd.conf ”>>/etc/rc.local



3.安装spine

#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz

#tar zxvf cacti-spine-0.8.7g.tar.gz

#cd cacti-spine-0.8.7g

#./configure --prefix=/usr/local/cacti-spine --with-snmp=/usr/local/net-snmp

#make && make install

#cd /usr/local/cacti-spine/etc/

#cp spine.conf.dist spine.conf

#vi spine.conf

#service httpd restarat

#crontab -e(设置轮询刷新时间)
http://blog.运维网.com/attachment/201101/150926252.jpg

接着在cacti页面上面设置poller选择spine,如下图设置


http://blog.运维网.com/attachment/201101/151234791.jpg

这样就结束了.





4.由于这段时间发现cacti出问题,用snmkwalk能抓到数据,但图出不来,如下情况



http://blog.运维网.com/attachment/201101/144951702.jpg



后来查看了cacti日子信息后发现提示以下错误:


http://blog.运维网.com/attachment/201101/145012154.jpg

经过谷歌搜索,发现最近spine有bug,需要安装最新补丁.





+Patched 0.8.7g
+-bug#0001669: Problems with getting data from script using SPINE on Windows Server 2003 x32
+-bug#0001829: Wrong string numerical value got from Spine SNMP poller
+-bug: Net-snmp API issues cause spine crashes with some SNMP agents
+-bug: Host list not properly initialized
+-bug: Mutex locking issues cause deadlocks in Windows
+-bug: Escape windows type back slashes in scripts






下载最新补丁:

http://www.cacti.net/downloads/spine/patches/0.8.7g/unified_issues.patch



下载好的补丁放在cacti-spine-0.8.7g目录下面

然后需重新执行安装步骤

#./configure --prefix=/usr/local/cacti-spine --with-snmp=/usr/local/net-snmp

# patch -p1 -N < unified_issues.patch

#make && make install

#cd /usr/local/cacti-spine/etc/

#cp spine.conf.dist spine.conf

##vi spine.conf (覆盖后重新修改连接数据库的账号密码)
http://blog.运维网.com/attachment/201101/150340979.jpg

#service httpd restarat



重新查看cacti日志:
http://blog.运维网.com/attachment/201101/153850633.jpg

再mark一下(2011.03.23)



报以下错误




03/23/2011 11:57:01 AM - PHPSVR: Poller ERROR: Input Expected, Script Server Terminating


03/23/2011 11:57:01 AM - PHPSVR: Poller ERROR: Input Expected, Script Server Terminating


03/23/2011 11:57:01 AM - PHPSVR: Poller ERROR: Input Expected, Script Server Terminating


03/23/2011 11:57:01 AM - SPINE: Poller FATAL: Connection Failed, Error:'1040', Message:'Too many connections' (Spine thread)








  解决方法:
  vim /etc/my.cnf
  增加set-variable = max_connections=500
  /etc/init.d/mysqld restart

再mark一下(2011.04.27)



最近发现cacti监控表每隔10分钟抓不到数据,很奇怪,也不知道哪位同事修改了Console -> Cacti Settings -poller-Poller Interval为30秒,后来改回一分钟一切恢复正常


http://blog.运维网.com/attachment/201104/201644896.jpg

因为在系统本身是设置一分钟,觉得有冲突

# crontab -e

*/1 * * * * env LANG=C /usr/bin/php /var/www/html/poller.php > /dev/null 2>&1
  问题图如下:
http://blog.运维网.com/attachment/201104/201444418.jpg



页: [1]
查看完整版本: Cacti+Nagios完全攻略(三)spine及最新补丁的安装