cacti+nagios 之cacti整合nagios(四)

一、原理

整合cacti和nagios是利用了cacti的一个插件nagios for cacti;它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti)的库中;然后cacti读取数据库信息将nagios展现出来;

一、安装cacti扩展模块

Cacti扩展模块需要下载安装cacti-plugin,cacti-0.8.8a及以后版本已经集成不需要安装(但是我使用的0.8.8b还需要安装很郁闷,如果使用的是老版本cacti,扩展模块安装如下:

Cd   /root/cactinagios

Wget  http://www.cacti.net/downloads/pia/cacti-plugins-0.8.7h-PA-v3.0.tar.gz

Mv   cacti-plugin-0.8.7h-PA-v3.0.tar.gz  cacti-plugin-arch.tar.gz

Tar  -xf  cacti-plugin-arch.tar.gz 

Cp  cacti-plugin-arch/*   /var/www/html/cacti/

Cd  /var/www/html/cacti/

Mysql  -u cacti –p ‘cacti’ cacti

Patch  -p1 –N 然后登陆cacti;点击consoleàuser Management àadmin àPlugin Mangement打开将其勾选上;然后点击保存即可;
 

安装Ndoutils
cd /root/cactinagios
wget http://jaist.dl.sourceforge.net/project/nagios/ndoutils-2.x/ndoutils-2.0.0/ndoutils-2.0.0.tar.gz
tar zxvf ndoutils-2.0.0.tar.gz
cd ndoutils-2.0.0
./configure  –prefix=/var/www/html/nagios/  –with-mysql-inc=/usr/include/mysql   –with-mysql-lib=/usr/lib64/mysql  –enable-mysql  –disable-pgsql   –with-ndo2db-user=nagios –with-ndo2db-group=nagios
 make
  2、准备配置文件
cd db
./installdb -u cactier -p 123456 -h localhost -d cactidb 
cd ..
[root@nagios ndoutils-2.0.0]# cp src/{ndomod-4x.o,ndo2db-4x,log2ndo,file2sock} /usr/local/nagios/bin 
#nagios是4.x版本的就使用ndomod-4x.o和ndo2db-4x,如果是3.x版本就复制对应的3x文件
[root@nagios ndoutils-2.0.0]# cp config/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg
[root@nagios ndoutils-2.0.0]# cp config/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg
[root@nagios ndoutils-2.0.0]# cd /var/www/html/nagios/etc/
[root@nagios etc]# chown nagios:nagios ndo2db.cfg ndomod.cfg
[root@nagios etc]# chmod 664 ndo2db.cfg ndomod.cfg
[root@nagios etc]# cd /var/www/html/nagios/bin
[root@nagios bin]# mv ndo2db-4x ndo2db
[root@nagios bin]# mv ndomod-4x.o ndomod.o
[root@nagios bin]# chown nagios:nagios *
  3、修改配置文件
[root@nagios bin]# vi /usr/local/nagios/etc/nagios.cfg
#注意,broker_module和config_file放在一行    broker_module=/var/www/html/nagios/bin/ndomod.o config_file=/var/www/html/nagios/etc/ndomod.cfgevent_broker_options=-1 
process_performance_data=1
[root@nagios bin]# vi /var/www/html/nagios/etc/ndo2db.cfg
    socket_type=tcp
    db_servertype=mysql
    db_host=localhost
    db_port=3306
    db_name=cactidb
    db_prefix=npc_
    db_user=cactier
    db_pass=123456
[root@nagios bin]# vi /var/www/html/nagios/etc/ndomod.cfg
    output_type=tcpsocket
   output=127.0.0.1
4、启动守护进程
[root@nagios bin]# /var/www/html/nagios/bin/ndo2db -c /var/www/html/etc/ndo2db.cfg
[root@nagios bin]# cd /root/cactinagios/ndoutils-2.0.0
[root@nagios ndoutils-2.0.0]# cp ./daemon-init /etc/init.d/ndo2db
[root@nagios ndoutils-2.0.0]# chmod +x /etc/init.d/ndo2db
[root@nagios ndoutils-2.0.0]# service ndo2db status
[root@nagios ndoutils-2.0.0]# chkconfig –add ndo2db 
[root@nagios ndoutils-2.0.0]# chkconfig ndo2db on

四、安装NPC插件

    介绍:全称Nagios Plugin for Cacti,将nagios的数据通过ndo2db导入到mysql数据库(前面设置的npc_开头的表),然后cacti读取数据库信息将nagios的结果通过NPC展示出来。
  1、安装npc
[root@nagios ndoutils-2.0.0]# cd /root/cactinagios
[root@nagios nagios]# wget http://down.drv5.cn/www.drv5.cn/npc-2.0.4.tar.gz
[root@nagios nagios]# tar zxvf npc-2.0.4.tar.gz
[root@nagios nagios]# mv npc /var/www/html/cacti/plugins/
[root@nagios nagios]# vi /var/www/html/cacti/include/config.php
$plugins[] = ‘npc’;
2、页面设置npc
(1)user management–>admin–>勾上Plugin Management
(2)Plugin Management–>点击install图标、点击enable图标
(3)settings–>NPC–>如下所示:
 Remote Commands:
 /var/www/html/nagios/var/rw/nagios.cmd
 http://192.168.10.16/nagios

3、安装json:支持npc
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
 注意:先执行第4步的php -m查看是否加载了json,有则跳过3、4步我这里有;

查看是否有json被加载:
[root@nagios json-1.2.1]# php -m
修改数据库:

[root@nagios json-1.2.1]# mysql -ucacti -pcacti
mysql>use cacti;
mysql>ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL DEFAULT ” AFTER output;
mysql>ALTER TABLE npc_services ADD importance smallint(6) NOT NULL DEFAULT ’0′; mysql>ALTER TABLE npc_hosts ADD importance smallint(6) NOT NULL DEFAULT ’0′; 
mysql>ALTER TABLE npc_contacts ADD minimum_importance smallint(6) NOT NULL DEFAULT ’0′; 
mysql>quit 
 6、重启服务
[root@nagios ~]# service mysqld restart
[root@nagios ~]# service httpd restart
[root@nagios ~]# service ndo2db restart
[root@nagios ~]# service nagios restart
7、观察日志
[root@nagios ~]# tail /var/log/html/nagios/var/nagios.log
[root@nagios ~]# tail /var/www/html/cacti/log/cacti.log
[root@nagios ~]# tail /var/log/mysqld.log
[root@nagios ~]# tail /var/log/messages

转载于:https://my.oschina.net/u/2350399/blog/713821

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值