2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > cacti 整合nagios 以及总是off处理办法!

cacti 整合nagios 以及总是off处理办法!

时间:2018-07-18 12:33:19

相关推荐

cacti 整合nagios 以及总是off处理办法!

主要步骤:

1、安装ndoutils,把nagios数据写到mysql。

2、在cacti安装npc插件,查看nagios的数据。

一、安装

1、安装ndoutils的依赖包

(1)安装DBI

wget/CPAN/authors/id/T/TI/TIMB/DBI-1.616.tar.gz

tar-zxvfDBI-1.616.tar.gz

cdDBI-1.616

perlMakefile.PL

make&&makeinstall

(2)安装DBD-mysql

wget/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.018.tar.gz

tarxvfDBD-mysql-4.018.tar.gz-C/usr/local/soft

cdDBD-mysql-4.018

perlMakefile.PL--mysql_config=/usr/local/mysql/bin--with-mysql=/usr/local/mysql--mysql_config=/usr/local/mysql/bin/mysql_config

make&&makeinstall

2、安装ndoutils

ndoutils作用,把nagios的数据写到mysql,集成nagios到cacti的关健的一部分。

(1)下载编译

wgethttp://nchc./project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz

tar-zxvfndoutils-1.4b9.tar.gz

cdndoutils-1.4b9

./configure--prefix=/usr/local/nagios--enable-mysql--disable-pgsqlLDFLAGS=-L/usr/local/mysql/lib--with-mysql-lib=/usr/local/mysql/lib--with-mysql=/usr/local/mysql

make提示找不到mysql.h:

cpinclude/config.hinclude/config.h.bak

viinclude/config.h

#include<mysql.h>

#include<errmsg.h>

改为

#include</usr/local/mysql/include/mysql.h>

#include</usr/local/mysql/include/errmsg.h>

make(注:这里不需要makeinstall)

复制执行及配置文件

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

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

cdsrc

cpndomod-3x.ondo2db-3xlog2ndofile2sock/usr/local/nagios/bin

(2)配置nagios主文件

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

broker_module=/usr/local/nagios/bin/ndomod-3x.oconfig_file=/usr/local/nagios/etc/ndomod.cfg

process_performance_data=1

(3)配置ndocmd.cfg文件

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

output_type=tcpsocket

output=127.0.0.1

(4)配置ndo2db.cfg文件

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

socket_type=tcp

socket_name=/usr/local/nagios/var/ndo.sock

db_name=cacti

db_prefix=npc_

db_user=cacti

db_pass=cacti

debug_level=1

(5)启动ndo2db

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

3、安装cacti插件npc

wget/downloads/npc-2.0.4.tar.gz

tar-zxvfnpc-2.0.4.tar.gz

mvnpc/home/htdocs/cacti/plugins

登录cacti后台,在插件管理中心安装并启用NPC。

PluginManagement面板,installnpc,enablenpc。

Settings-npc选项卡下面:

NagiosCommandFilePath:/usr/local/nagios/var/rw/nagios.cmd

NagiosURL:http://192.168.1.36/nagios/

保存后完成。

至此,ndoutils会自动把nagios的数据写到mysql里cacti库下的npc_*表。

查看访问

http://192.168.1.36/cacti/

二、问题及排错

1、nagios重启

psaux|grepnagios

/usr/local/nagios/bin/ndo2db-3x-c/usr/local/nagios/etc/ndo2db.cfg######别忘了开机启动否则会出现nagiosOFF现象

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

2、cacti插件npc提示nohosts

tail-100/var/log/messages

localhostndo2db-3x:mysql_error:'Unknowncolumn'long_output'in'fieldlist''

添加缺失的对应字段

ALTERTABLEnpc_eventhandlersADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_hostchecksADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_hoststatusADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_notificationsADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_servicechecksADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_servicestatusADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_statehistoryADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

ALTERTABLEnpc_systemcommandsADDlong_outputTEXTNOTNULLDEFAULT''AFTERoutput;

将上面这些写到一个test.sql文件中

执行mysql-uroot-pxxxx<test.sql

3.为什么nagios整合cacti后NPC里的nagios总是OFF!

解决办法是修改一下文件的内容,不过最主要的是这几个:

output_type=tcpsocket

output=127.0.0.1

socket_type=tcp

修改配置文件ndocmd.cfg 和 ndo2db.cfg

改完之后重启服务试试,我第一次测试安装是一次成功,但是整合公司原来配置好的服务时候,出现了nagiosOFF现象。。(看看nagios里面的的配置文件权限是不是nagios,我认为有这个方面的原因,配置文件都是rootmv过来的)

如果npc显示空白是因为php没有php-json-ext-1.2.0.tar.bz2这个扩展,安装下就行了

在php.ini里添加extension=json.so

安装前检查下php-devel是不是安装了,否则没有phpize,先执行下phpize命令,不然找不到php-config路径

./configure

make&&makeinstall

安装效果图如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。