整合需要用到的插件
tar zxf npc-2.0.4.tar.gz -C /usr/local/lnmp/nginx/html/cacti/plugins/
完成之后直接浏览http://192.168.0.104/cacti/
启用npc插件
在setting中找到npc设置,启动要设置前三项
(Remote Commands,,Nagios Command File Path。。Nagios URL)
Nagios Command File Path这个选项我这里是这么写的。/usr/local/nagios/var/rw/nagios.cmd
Nagios URL 我这里是这么写的https://nagios.westos.org
完成之后就可以在npc模块中看到nagios了
下面安装ndo
tar zxf ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9
安装这个时需要指定mysql的lib库,我们之前的mysql是源码安装的,但是lib库是mysql-lib这个包里面的,因为mysql-lib这个包是postfix需要的,所以我们卸载mysql-lib这个包的时候我们应该现在关闭掉postfix
/etc/init.d/postfix stop
rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps #忽略依赖性
cp /etc/my.cnf.rpmsave /etc/my.cnf #把文件还原
因为在编译ndoutils-1.4b9时需要找mysql的include和lib
所以我们要这么做
ln -s /usr/local/lnmp/mysql/include/ /usr/include/mysql #如果使rpm包安装mysql的话,可以直接./configure
ln -s /usr/local/lnmp/mysql/lib /usr/lib64/mysql
./configure
make
cd config
cp ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
cp ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfgcd ../src/
cp ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp ndo2db-3x /usr/local/nagios/bin/ndo2db
cd /usr/local/nagios/etc/
chown nagios.nagios *
cd ../bin/
chown nagios.nagios *
cd ../etc/
vim ndomod.cfg
修改一下内容
instance_name=default
output_type=tcpsocket output=127.0.0.1
tcp_port=5668
vim ndo2db.cfg
修改一下内容
socket_type=tcp
db_servertype=mysql
db_host=localhost
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=cacti
debug_level=1
vim nagios.cfg
添加
broker_module=/usr/local/nagios/bin/ndomod.o
config_file=/usr/local/nagios/etc/ndomod.cfg
在这里可能什么都不显示,这里是php缺少一个插件PDO_MYSQL-1.0.2.tgz
tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
phpize
./configure --with-php-config=/usr/local/lnmp/php/bin/php-config --with-pdo-mysql=/usr/local/lnmp/mysql/
make
在make过程中可能提示找不到mysql.h 这里我们要做的就是
ln -s /usr/local/lnmp/mysql/include/* /usr/local/include/
完成之后make install
我们这里安装的使1.4b9版本的ndo
在连接数据库的时候可能会出现一些错误,说是数据库缺少一些字段
这里我们需要补充数据库中缺少的字段
ALTER TABLE `npc_hostchecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_hoststatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_servicechecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_servicestatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_statehistory` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_eventhandlers` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_systemcommands` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_notifications` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
之后重启服务查看成功没
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg #加载新加的模块
/etc/init.d/nagios reload
总结一下,这里面可以会遇到很多错误,所以要常看日志,通常看的日志有/var/log/messages
还有/usr/local/lnmp/nginx/logs/error.log