Cacti插件安装之nagios
基本环境
os:rhel5.5 i386
rpm:lamp
cacti:0.8.8a
rrdtool:1.4.5

一,安装nagios
useradd nagios必须的,要不make install时过不去
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.1/nagios-3.4.1.tar.gz
#tar zxvf nagios-3.4.1.tar.gz -C /opt
#cd /opt/nagios
#./configure --prefix=/usr/local/nagios
#make all
# make  install install-base install-cgis install-html install-exfoliation install-config install-init install-

commandmode fullinstall
nagios.conf文件已生成,不用修改
# egrep 'AuthUserFile' /etc/httpd/conf.d/nagios.conf 
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
创建HTTP认证用户登录Nagios,用户名nagiosadmin,密码123456
    #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启apache
    #service httpd restart  
其他配置基本不用改,启动nagios  
# service nagios start
# chkconfig nagios on
http://ip/nagios访问即可
 
输入密码

二,安装Nagios插件 
#wget http://cdnetworks-kr-1.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
#tar zxvf nagios-plugins-1.4.16.tar.gz -C /opt
#cd  /opt/nagios-plugins-1.4.16/
#./configure  新版本已经做的相当好了,什么多余的参数都不用加,但注意时间要正确(因为这个包是16小时前才开发出来的

,所以特别是用虚拟机的朋友,时间不能相差的太远)
#make
#make install
配置Nagios管理员接受告警信息的邮箱,写入管理员邮箱
# grep email /usr/local/nagios/etc/objects/contacts.cfg
        email                           [email protected]        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS 校验

Nagios配置文件,验证配置是否有误 
#/usr/local/nagios/bin/nagios -v
#service nagios restart

三,PHP支持JSON扩展
PHP必须安装PDO 和 JSON扩展。由于NPC使用了Ext JS,如果没有JSON扩展,NPC的界面不会出来,只能看到一个空白页面。初始

化PHP环境 需要用phpize命令,所以也要安装 php-devel。
# wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
# tar jxvf  php-json-ext-1.2.1.tar.bz2  -C /opt/
# cd /opt/php-json-ext-1.2.1/
# phpize 
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
#./configure
#make
# make install
Installing shared extensions:     /usr/lib/php/modules/
# ls /usr/lib/php/modules/
dbase.so  gd.so  json.so  mysqli.so  mysql.so  pdo_mysql.so  pdo.so  pdo_sqlite.so  phpcups.so
添加支持json扩展
#cd /etc/php.d
#echo "extension=json.so" >json.ini
#service httpd restart

四,安装ndoutils
ndoutils是将Nagios的配置及监控信息存储到数据库里,NPC通过调用ndo所存储的数据来展现Nagios的信息。ndoutils需要用到

mysql的mysql-lib及mysql-inc,因此需要安装mysql-devel
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz
#tar fvxz ndoutils-1.4b7.tar.gz -C /opt
#cd /opt/ndoutils-1.5.2
#./configure --prefix=/usr/local/nagios LDFLAGS=-L/usr/lib --with-mysql-inc=/usr/include/mysql --with-mysql-

lib=/usr/lib/mysql --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
#make
#make install
#cd src/  
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/bin/
#cd ../config
#cp ndo2db.cfg-sample ndo2db.cfg
#cp ndomod.cfg-sample ndomod.cfg
#cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/
# vim /usr/local/nagios/etc/ndo2db.cfg
修改以下参数
socket_name=/usr/local/nagios/var/ndo.sock
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=cacti
debug_level=1
debug_file=/usr/local/nagios/var/ndo2db.debug
保存退出
# vim usr/local/nagios/etc/ndomod.cfg
查看以下参数默认不用改
output=/usr/local/nagios/var/ndo.sock
buffer_file=/usr/local/nagios/var/ndomod.tmp

五,安装NPC
# wget http://down.drv5.cn/www.drv5.cn/npc-2.0.4.tar.gz
# tar zxvf  npc-2.0.4.tar.gz -C /var/www/html/cacti/plugins
# vim /var/www/html/cacti/include/config.php
添加以下参数
$plugins[] = 'npc';
#service httpd restart
http://ip/cacti
控制面板-----插件管理---npc安装和启用

控制面板-----用户管理---admin---看到选上ntop

再看NPC出来了,更单独访问http://ip/nagios图像一样

注Cacti-0.8.8a比以前版本更好用,添加插件也更简单
php-json部分参考了http://viong.blog.51cto.com/844766/288278在此感谢