Cacti+Nagios监控系统(四):Cacti整合Nagios

一、原理

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

二、cacti扩展模块

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

cd /root/download

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

tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz

cp -R cacti-plugin-arch/* /var/www/html/cacti/

cd /var/www/html/cacti/

mysql -u cactier -p 123456 cactidb < pa.sql

patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff

vim include/config.php

$url_path = "/cacti/";

从web进入cacti,启用cacti plugin扩展

三、安装Ndoutils插件

1、安装Ndoutils

cd /root/download

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=/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

make

2、准备配置文件

cd db

./installdb -u cactier -p 123456 -h localhost -d cactidb

cd ..

cp src/{ndomod-4x.o,ndo2db-4x,log2ndo,file2sock} /usr/local/nagios/bin

nagios是4.x版本的就使用ndomod-4x.o和ndo2db-4x,如果是3.x版本就复制对应的3x文件

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

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

cd /usr/local/nagios/etc/

chown nagios:nagios ndo2db.cfg ndomod.cfg

chmod 664 ndo2db.cfg ndomod.cfg

cd /usr/local/nagios/bin

mv ndo2db-4x ndo2db

mv ndomod-4x.o ndomod.o

chown nagios:nagios *

3、修改配置文件

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.cfg  event_broker_options=-1

process_performance_data=1

vi /usr/local/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

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

output_type=tcpsocket

output=127.0.0.1

4、启动守护进程

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

cd /root/download/ndoutils-2.0.0

cp ./daemon-init /etc/init.d/ndo2db

chmod +x /etc/init.d/ndo2db

service ndo2db status

chkconfig --add ndo2db

chkconfig ndo2db on

四、安装NPC插件

介绍:全称Nagios Plugin for Cacti,将nagios的数据通过ndo2db导入到mysql数据库(前面设置的npc_开头的表),然后cacti读取数据库信息将nagios的结果通过NPC展示出来。

1、安装npc

cd /root/download

wget http://down.drv5.cn/www.drv5.cn/npc-2.0.4.tar.gz

tar zxvf npc-2.0.4.tar.gz

mv npc /var/www/html/cacti/plugins/

vi /var/www/html/cacti/include/config.php

$plugins[] = ‘npc‘;

2、页面设置npc

user management-->admin-->勾上Plugin Management

Plugin Management-->点击install图标、点击enable图标

settings-->NPC-->设置如下

3、安装json:支持npc

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

    注意:先执行第4步的php -m查看是否加载了json,有则跳过3、4步,

cd /root/download

wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz

tar zxvf json-1.2.1.tgz

cd json-1.2.1

vi JSON_parser.c

#define ZVAL_DELREF Z_DELREF_P

phpize

./configure

make && make install

4、配置php以支持json

vi /etc/php.d/json.ini

extension=json.so

service httpd restart

查看是否有json被加载

php -m

查看是否有导入信息

php -i | grep php.ini

5、修改数据库(缺少个别字段)    

tail /var/log/messages

ndo2db: mysql_error: ‘Unknown column ‘long_output‘ in ‘field list‘‘

mysql -ucactier -p123456

use cactidb;

ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL DEFAULT ‘‘ AFTER output;

ALTER TABLE npc_services ADD importance smallint(6) NOT NULL DEFAULT ‘0‘;

ALTER TABLE npc_hosts ADD importance smallint(6) NOT NULL DEFAULT ‘0‘;

ALTER TABLE npc_contacts ADD minimum_importance smallint(6) NOT NULL DEFAULT ‘0‘;

quit

6、重启服务

service mysqld restart

service httpd restart

service ndo2db restart

service nagios restart

7、观察日志

tail /usr/local/nagios/var/nagios.log

tail /var/www/html/cacti/log/cacti.log

tail /var/log/mysqld.log

tail /var/log/messages

五、遇到的问题

1、NPC页面上显示Nagios为Off

错误:

tail /usr/local/nagios/var/nagios.log

ndomod: Could not open data sink!  I‘ll keep trying, but some output may get lost...

解决:

cd /usr/local/nagios/etc/

chown nagios:nagios ndo2db.cfg ndomod.cfg

chmod 664 ndo2db.cfg ndomod.cfg

service ndo2db restart

service nagios restart

 2、ndo2db服务启动失败

错误:

Could not bind socket: Address already in use

解决:

ps aux|grep ndo2db 看到多个ndo2db的进程

kill-9 进程id 杀掉进程,再重新运行

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

3、消息发送失败

错误:

tail /var/log/message

ndo2db: Warning: queue send error, retrying... ndo2db: Message sent to queue.

解决:

vi /etc/sysctl.conf

kernel.msgmax = 131072000

kernel.msgmnb = 131072000

kernel.msgmni = 65536000

Cacti+Nagios监控系统(四):Cacti整合Nagios

时间: 2024-10-17 21:24:18

Cacti+Nagios监控系统(四):Cacti整合Nagios的相关文章

Nagios监控系统

一.Nagios监控系统简介 1.Nagios工作原理 Nagios本身不包括监控主机和服务的功能.所有的监控.监测功能都是通过各种插件来完成的.安装完nagios之后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每一个插件可以通过运行./check_xxx -h命令来检查其使用方法和功能. 1.Nagios的四种监控状态 Nagios可以识别四种状态返回信息.0(OK)表示状态

Cacti+Nagios监控系统(六):Cacti整合Ntop

Ntop是一种监控网络流量工具 一.安装环境 cd /root/download yum install libtool libpcap libpcap-devel gdbm gdbm-devel zlib zlib-devel wget http://mirror01.idc.hinet.net/EPEL/5Server/x86_64/GeoIP-1.4.8-1.el5.x86_64.rpm wget http://mirror01.idc.hinet.net/EPEL/5Server/x86

Cacti+Nagios监控系统(五):Nagios监控windows(基于check_nt)

一.工作原理 Nagios服务器使用check_nt工具与客户端程序通讯,客户端程序NSCP使用命令来获取本地客户端的信息并返回给check_nt. check_nt只是NSCP其中一项服务,Nagios还可以通过check命令(如check_http检查WEB服务).check_nrpe.NSCA.WMI来监控windows客户端. 二.下载客户端程序 下载地址:  http://nsclient.org/nscp/downloads 64位系统下载:NSCP-0.4.1.105-x64.ms

Cacti+Nagios监控系统(二):安装Cacti

一.设置mysql,创建Cacti数据库和账号 mysql -u root -p mysql> create database cactidb; mysql> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY '123456'; mysql> flush privileges; mysql> quit 二.安装rrdtool yum -y install rrdtool  rrdtool-devel  rrdtool

Cacti+Nagios监控系统(三):安装Nagios

一.添加用户 groupadd nagcmd useradd -G nagcmd nagios passwd nagios 123456 usermod -a -G nagcmd apache 二.安装nagios cd /root/download wget http://jaist.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.7/nagios-4.0.7.tar.gz 也可以从这里下载:http://www.nagios.o

Cacti+Nagios监控系统(五):Cacti安装插件

Cacti插件说明及下载地址:http://docs.cacti.net/plugins 一.Settings插件 cd /root/download wget http://docs.cacti.net/_media/plugin:settings-v0.7-1.tgz mv plugin:settings-v0.7-1.tgz settings-v0.7-1.tgz tar zxvf settings-v0.7-1.tgz -C /var/www/html/cacti/plugins/ 二.

Cacti+Nagios监控系统(一):准备工作

一.系统环境 1.设置yum源 (1)使用本地源 挂载光驱ISO文件 确认路径/media/CentOS_6.5_Final/ cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak vi CentOS-Base.repo [base] name=Base baseurl=file:///media/CentOS_6.5_Final/ gpgcheck=0 #(1检测 0不检测) enabled=1 #(1启动 0不启动) (2)

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人

centos 搭建 nagios 监控系统.

linux下搭建nagios监控 一.什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统. Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态, 各种系统问题,以及日志等等. Nagios是十分受欢迎的.开源且免费的计算机及网络系统监控软件. Nagios是"Nagios Ain't Gonna Insi