首页 Linux网维 Cacti+Nagios(四):Cacti整合Nagios

Cacti+Nagios(四):Cacti整合Nagios

一、原理整合cacti和nagios是利用了cacti的一个插件nagios for cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的…

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

二、安装cacti扩展模块cacti扩展模块需要下载安装cacti-plugin,cacti-0.8.8a及以后版本已集成此扩展模块不需要再单独安装,如果使用的是老版本cacti,扩展模块安装如下:12

3456789[root@nagios ~]# cd /home/nagios[root@nagios nagios]# wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz

[root@nagios nagios]# tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz[root@nagios nagios]# cp -R cacti-plugin-arch/* /var/www/html/cacti/

[root@nagios nagios]# cd /var/www/html/cacti/[root@nagios cacti]# mysql -u cactier -p 123456 cactidb < pa.sql

[root@nagios cacti]# patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff[root@nagios cacti]# vim include/config.php

$url_path = “/cacti/”;从web进入cacti,启用cacti plugin扩展三、安装Ndoutils插件1、安装Ndoutils123456[root@nagios cacti]# cd /home/nagios

[root@nagios nagios]# wget http://jaist.dl.sourceforge.net/project/nagios/ndoutils-2.x/ndoutils-2.0.0/ndoutils-2.0.0.tar.gz

[root@nagios nagios]# tar zxvf ndoutils-2.0.0.tar.gz[root@nagios nagios]# cd ndoutils-2.0.0[root@nagios ndoutils-2.0.0]# ./configure  –prefix=/usr/local/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

[root@nagios ndoutils-2.0.0]# make2、准备配置文件1234567891011121314[root@nagios ndoutils-2.0.0]# cd db[root@nagios db]# ./installdb -u cactier -p 123456 -h localhost -d cactidb

[root@nagios ndoutils-2.0.0]# 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 /usr/local/nagios/etc/ndomod.cfg

[root@nagios ndoutils-2.0.0]# cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg[root@nagios ndoutils-2.0.0]# cd /usr/local/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 /usr/local/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、修改配置文件1234[root@nagios bin]# vi /usr/local/nagios/etc/nagios.cfg

#注意,broker_module和config_file放在一行broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfgevent_broker_options=-1

process_performance_data=1123456789[root@nagios bin]# vi /usr/local/nagios/etc/ndo2db.cfgsocket_type=tcp

db_servertype=mysqldb_host=localhostdb_port=3306db_name=cactidbdb_prefix=npc_db_user=cactierdb_pass=123456

123[root@nagios bin]# vi /usr/local/nagios/etc/ndomod.cfgoutput_type=tcpsocketoutput=127.0.0.14、启动守护进程

1234567[root@nagios bin]# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg[root@nagios bin]# cd /home/nagios/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、安装npc123456[root@nagios ndoutils-2.0.0]# cd /home/nagios[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–>照下图设置

Cacti+Nagios(四):Cacti整合Nagios插图

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

12345678[root@nagios nagios]# wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz

[root@nagios nagios]# tar zxvf json-1.2.1.tgz[root@nagios nagios]# cd json-1.2.1[root@nagios json-1.2.1]# vi JSON_parser.c

#define ZVAL_DELREF Z_DELREF_P[root@nagios json-1.2.1]# phpize[root@nagios json-1.2.1]# ./configure[root@nagios json-1.2.1]# make && make install

4、配置php以支持json123[root@nagios json-1.2.1]# vi /etc/php.d/json.iniextension=json.so[root@nagios json-1.2.1]# service httpd restart

查看是否有json被加载:1[root@nagios json-1.2.1]# php -m查看是否有导入信息:1[root@nagios json-1.2.1]# php -i | grep php.ini

5、修改数据库(缺少个别字段)12345678910111213141516[root@nagios json-1.2.1]# tail /var/log/messagesndo2db: mysql_error: Unknown column long_output in field list

[root@nagios json-1.2.1]# mysql -ucactier -p123456mysql>use cactidb;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>quit6、重启服务1234[root@nagios ~]# service mysqld restart[root@nagios ~]# service httpd restart[root@nagios ~]# service ndo2db restart

[root@nagios ~]# service nagios restart7、观察日志1234[root@nagios ~]# tail /usr/local/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

五、遇到的问题1、NPC页面上显示Nagios为Off错误:

Cacti+Nagios(四):Cacti整合Nagios插图1

12[root@nagios ~]#tail /usr/local/nagios/var/nagios.logndomod: Could not open data sink!  Ill keep trying, but some output may get lost…

解决:12345[root@nagios ~]# cd /usr/local/nagios/etc/[root@nagios etc]# chown nagios:nagios ndo2db.cfg ndomod.cfg

[root@nagios etc]# chmod 664 ndo2db.cfg ndomod.cfg[root@nagios etc]# service ndo2db restart[root@nagios etc]# service nagios restart

2、ndo2db服务启动失败错误:1Could not bind socket: Address already in use解决:123[root@nagios ~]# ps aux|grep ndo2db 看到多个ndo2db的进程

[root@nagios ~]# kill-9 进程id 杀掉进程,再重新运行[root@nagios ~]# sudo /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

3、消息发送失败错误:12[root@nagios ~]# tail /var/log/messagendo2db: Warning: queue send error, retrying… ndo2db: Message sent to queue.

解决:1234[root@nagios ~]# vi /etc/sysctl.confkernel.msgmax = 131072000kernel.msgmnb = 131072000kernel.msgmni = 65536000

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

CentOS系统升级内核版本教程,centos内核版本升级

CentOS系统升级内核版本教程,centos内核版本升级

CentOS 系统升级系统内核版本  1、显示CentOS 系统内核版本:             [root@demo...
Linux下对 Nginx SSL 的性能进行调整

Linux下对 Nginx SSL 的性能进行调整

初始化服务器   这个web服务器运行在一个EC2 t1.micro 环境.我选择 Nginx + PHP5-FPM 来...
Linux Shell经典实例解析:Oracle启动脚本

Linux Shell经典实例解析:Oracle启动脚本

Oracle的启动脚本从功能上讲主要分为两个部分,第一部分是初始化各种环境变量,以确认当前Oracle服务器的版本,从而...
centOS6.4 64位下安装nfs文件共享系统

centOS6.4 64位下安装nfs文件共享系统

不知道谁装的服务器,默认自带,以下内容摘自互联网,配置部分按教程执行成功 一、环境介绍:   服务器:centos 19...
Linux下的Samba安装配置

Linux下的Samba安装配置

1 Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Sam...

发表回复

返回顶部