cacti 整合nagios,以及总是off处理办法!
主要步驟:
1、安裝ndoutils,把nagios數據寫到mysql。
2、在cacti安裝npc插件,查看nagios的數據。
一、安裝
1、安裝ndoutils的依賴包
(1)安裝DBI
wgethttp://search.cpan.org/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
wgethttp://search.cpan.org/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.dl.sourceforge.net/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=cacti2011
debug_level=1
(5)啟動ndo2db
/usr/local/nagios/bin/ndo2db-3x-c/usr/local/nagios/etc/ndo2db.cfg
3、安裝cacti插件npc
wgethttp://www.constructaegis.com/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
安裝效果圖如下
轉載于:https://blog.51cto.com/304076020/1553236
總結
以上是生活随笔為你收集整理的cacti 整合nagios,以及总是off处理办法!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何才能在SQL查询器中使用语句查询出表
- 下一篇: 自定义键盘keyfere——pcsens