nagios与 cacti 整合部分
整合cacti+nagios整合cacti和nagios是利用了cacti的一个插件nagiosfor cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果展示出来。
1、安装php-json扩展,因为NPC使用了ExtJS,如过没有json的扩展NPC界面无法出来。
# tar xf php-json-ext-1.2.1.tar.gz# cd php-json-ext-1.2.1# phpize如果没有命令的话安装下面的软件包# rpm -ihv /media/CentOS/php-devel-5.1.6-27.el5.i386.rpm# sh configure && make && make install2、新建文件,添加信息如下:
# vim /etc/php.d/json.iniextension=json.so安装完成后如果先验证的话,可以写个index.php的页面看下,有json信息即可,如下:
# vim /var/www/html/index.php
访问http://localhost/index.php
3、安装ndoutils,需要安装mysql-devel前面已经装过这里就不用再装了
#wget http://nchc.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz# tar xvf ndoutils-1.4b9.tar.gz# cd ndoutils-1.4b9# ./configure --prefix=/usr/local/nagios/ --with-mysql--with-ndo2db-user=nagios --with-ndo2db-group=nagios --with-ssl --with-ssl-lib--enable-mysql --enable-ssl# make(不用make install)4、复制文件
# cp src/{ndomod-3x.o,ndo2db-3x,log2ndo,file2sock} /usr/local/nagios/bin/# cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg# cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg# chmod 644 /usr/local/nagios/etc/ndo*5、修复配置文件信息,连接数据库
# vim /usr/local/nagios/etc/ndo2db.cfg13 lock_file=/usr/local/nagios/var/ndo2db.lock21 ndo2db_user=nagios22 ndo2db_group=nagios34 socket_type=tcp //将此行#号去掉,#socket_type=unix前面加上#号44 socket_name=/usr/local/nagios/var/ndo.sock102 db_name=cacti //创建的数据库的名字111 db_prefix=npc_120 db_user=cacti //cacti数据库登陆用户名121 db_pass=123 //cacti数据库登陆密码180 debug_file=/usr/local/nagios/var/ndo2db.debug
# vim /usr/local/nagios/etc/ndomod.cfg25 output_type=tcpsocket //将此行#号去掉,#output_type=unixsocket前面加上#号39 output=127.0.0.1 //将此行#去掉,#output=/usr/local/nagios//var/ndo.sock前面加上#号85 buffer_file=/usr/local/nagios/var/ndomod.tmp6、启动ndo2db
# /usr/local/nagios/bin/ndo2db-3x -c/usr/local/nagios/etc/ndo2db.cfg# ps –elf |grep ndo2db7、安装npc
#wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz# tar xvf npc-2.0.4.tar.gz -C /var/www/html/cacti/plugins# chown -R apache.apache /var/www/html/cacti/plugins/npc/
8、修改nagios添加信息:
# vim /usr/local/nagios/etc/nagios.cfg //在最后添加如下行broker_module=/usr/local/nagios/bin/ndomod-3x.oconfig_file=/usr/local/nagios/etc/ndomod.cfg831 process_performance_data=1 //找到此行去的前面的#号
9、启动nagios:
# service nagios restart
10、如果打开cacti无npc插件,请修改如下行
# vim /var/www/html/cacti/include/config.php$plugins[]='npc';
启动之后在cacti中添加npc,如下:
但是看npc里发现空白的,没有数据,是因为php没有PDO_MYSQL支持,所以安装PDO_MYSQL
查看index.php网页,看是否安装过pdo-mysql,如果没安装,执行下面操作安装# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz# tar zxvf PDO_MYSQL-1.0.2.tgz# cd PDO_MYSQL-1.0.2# /usr/local/php/bin/phpize#./configure --with-php-config=/usr/bin/php-config#make#make install
修改数据库结构:
# mysql -u root –p
mysql> usr cacti; //复制粘贴如下内容即可
alter table npc_eventhandlers add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_hostchecks add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_hoststatus add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_notifications add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_servicechecks add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_servicestatus add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_statehistory add long_output TEXT NOT NULL default '' afteroutput;
alter table npc_systemcommands add long_output TEXT NOT NULL default '' afteroutput;
重新启动服务:
# service httpd restart
# service mysqld restart
# service nagios restart
之后再访问就可看到有数据了:
当查看/var/log/message文件时,出现如下错误,也请添加数据库
Nov 14 14:47:30 localhost ndo2db-3x: Error: mysql_query() failed for 'INSERT INTO npc_servicechecks SET instance_id='0', service_object_id='0', check_type='0',
勃起不是万能的,但不能勃起却是万万都不能的! 我知道,自己真的很傻,也许现在我还不能懂,以后我会懂。 有些东西失去了,可能就再也回不来了,所以请好好把握 精神上、赐予恁的慢性自杀ぃ 没看完~~~~~~先顶,好同志 伤感个性签名:爱情,往往是行百里者半九十,所以千万不要轻易放弃
页:
[1]