首页 > 代码库 > npc

npc

cacti+nagios+ganglia

cacti,nagios,ganglia整合:(在之前部署好各个监控的条件下)

需要下载这几个包:npc-2.0.4.tar.gz    ndoutils-1.5.2.tar.gz        ##npc是cacti的一个插件

Installing NPC :

tar zxf npc-2.0.4.tar.gz   -C   /var/www/html/cacti/plugins

Nagios Command File Path /usr/local/nagios/var/rw/nagios.cmd

cacti界面plugin安装激活npc,并进行一下设置:

 

Configuring Nagios :

tar zxf ndoutils-1.5.2.tar.gz        ##ndoutils是一个模块

cd ndoutils-1.5.2

./configure && make

vim /usr/local/nagios/etc/nagios.cfg

broker_module=/usr/local/nagios/bin/ndomod.o  config_file=/usr/local/nagios/etc/ndomod.cfg

添加模块:

cd ndoutils-1.5.2/src

cp ndomod-3x.o    /usr/local/nagios/bin/ndomod.o

chmod +x /usr/local/nagios/bin/ndomod.o        ##添加可执行权限

chown   nagios.nagios   /usr/local/nagios/bin/ndomod.o        ##添加用户和用户组

cp ndo2db-3x /usr/local/nagios/bin/ndo2db

chmod +x   /usr/local/nagios/bin/ndo2db

chown   nagios.nagios   /usr/local/nagios/bin/ndo2db

cd  ndoutils-1.5.2/config

cp  ndo2db.cfg-sample   /usr/local/nagios/etc/ndo2db.cfg

chmod +x   /usr/local/nagios/etc/ndo2db.cfg

chown   nagios.nagios   /usr/local/nagios/etc/ndo2db.cfg

cp ndomod.cfg-sample    /usr/local/nagios/etc/ndomod.cfg

chmod +x  /usr/local/nagios/etc/ndomod.cfg

chown   nagios.nagios  /usr/local/nagios/etc/ndomod.cfg

vim /usr/local/nagios/etc/ndo2db.cfg

socket_type=tcp 

#socket_type=tcp

tcp_port=5668 

db_name=cacti

db_prefix=npc_ #以npc开头的表

db_user=cacti 

db_pass=123 

debug_verbosity=1 

若忘记cacti密码, vim  /var/www/html/cacti/include/config.php查看。

vim /usr/local/nagios/etc/ndomod.cfg

output_type=tcpsocket 

output=127.0.0.1

以npc开头的表里没有字段 `long_output`

add.sql    根据nagios版本以及各插件版本的不同可编辑

nagios高于4.0(包括)

CREATE TABLE IF NOT EXISTS `npc_service_parentservices` (
  `service_parentservice_id` int(11) NOT NULL auto_increment,
  `instance_id` smallint(6) NOT NULL default ‘0‘,
  `service_id` int(11) NOT NULL default ‘0‘,
  `parent_service_object_id` int(11) NOT NULL default ‘0‘,
  PRIMARY KEY  (`service_parentservice_id`),
  UNIQUE KEY `instance_id` (`service_id`,`parent_service_object_id`)
) ENGINE=MyISAM  COMMENT=‘Parent services‘;
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`;
ALTER TABLE `npc_services` ADD COLUMN `importance` varchar(8192) NOT NULL default ‘‘ AFTER `icon_image_alt`;
ALTER TABLE `npc_contacts` ADD COLUMN `minimum_importance` varchar(8192) NOT NULL default ‘‘ AFTER `notify_host_downtime`;
ALTER TABLE `npc_hosts` ADD COLUMN `importance` varchar(8192) NOT NULL default ‘‘ AFTER `z_3d`;

nagios版本低于4.0

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`;

把这个字段添加到cacti仓库 mysql -p123 cacti < add.sql

开启ndo2db:    /usr/local/nagios/bin/ndo2db   -c   /usr/local/nagios/etc/ndo2db.cfg

把开启程序写到开机文件里

vim /etc/rc.local

/usr/local/nagios/bin/ndo2db   -c   /usr/local/nagios/etc/ndo2db.cfg

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

/etc/init.d/nagios reload

如果没有问题的话,cacti和nagios(nagios已经和ganglia整合)就出现在同一界面,如下图: