• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計

            最新評論

            開源監(jiān)控解決方案Nagios+PNP4Nagios+NConf+NDOUtils整合部署

            Nagios在監(jiān)控方面的強大功能,以及基于GPLv2的開源特性,使其在監(jiān)控領(lǐng)域具有超群的性價比,深的廣大運維師的好評。

            而今天作者這里提到的“nagios+pnp4nagios+nconf+ndoutils”是以nagios為核心、伴以多款開源軟件來進行的整合部署,從而實現(xiàn)監(jiān)控信息圖形化、web頁面定義定義監(jiān)控配置、監(jiān)控信息存儲等一系列功能的解決方案。 

            下面就除nagios之外需要用到的幾個開源軟件進行簡要介紹:

            pnp4nagios是基于RRD輪循(環(huán)狀)數(shù)據(jù)庫中所提供的綜合信息,以可視化圖形的方式呈現(xiàn)給用戶的一款nagios插件;

            nconf是基于PHP使用戶通過web頁面實現(xiàn)對nagios各項屬性進行配置,諸如模板定義、添加修改監(jiān)控的主機/服務(wù)等操作;

            ndoutils可以導(dǎo)出nagios通過SNMP捕獲到的當(dāng)前和歷史數(shù)據(jù)并存儲到MySQL數(shù)據(jù)庫中,并且自身以一個獨立守護進程的狀態(tài)存在。

            下圖簡述他們之間協(xié)同工作的原理

            以下的內(nèi)容作者將一步步的剖析整套方案的部署過程:

            一、成功安裝配置nagios

            在上一篇博文Nagios遠程監(jiān)控軟件的安裝與配置詳解中作者已經(jīng)對nagios的工作原理以和安裝及配置流程進行了詳細地說明,這里就不在贅述。

            Ps:為了不影響后面步驟的正常進行,請保證您已成功安裝nagios、nagios-plugins和nrpe。

            二、rrdtool與pnp4nagios的安裝與配置

            1.rrdtool的安裝需要一系列繁雜的依賴關(guān)系下面提供兩種安裝方法

            i.編譯安裝

            1. yum install -y pango pango-devel freetype freetype-devel libpng libpng-devel gettext gettext-devel libjpeg libjpeg-devel gd gd-devel libxml2 libxml2-devel libiconv libiconv-devel  qpixman qpixman-devel glib glib-devel cairo cairo-devel libart*  
            2. #這里將編譯安裝中所需的依賴果斷全部yum了 
            3. tar xvf rrdtool-1.4.5.tar.gz 
            4. #解壓文件
            5. cd rrdtool-1.4.5 
            6. ./configure --prefix=/usr/local/rrdtool 
            7. make && make install 
            8. #編譯安裝

            ii.本地yum安裝

            1. yum localinstall -y rrdtool-perl-1.4.4-1.el5.wrl.i386.rpm rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.el5.wrl.i386.rpm 
            2. #下載并安裝包含所有rrdtool依賴關(guān)系的rpm包和rrdtool 

            Ps:由于沒有找到rrdtool-1.4.5的rpm包...囧,這里就只能使用1.4.4版了

            2.安裝pnp4nagios

            1. tar zxvf pnp4nagios-0.6.14.tar.gz 
            2. #解壓 
            3. cd pnp4nagios-0.6.14 
            4. ./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-nagios-user=nagios --with-nagios-group=nagcmd --with-httpd-conf=你的apache的conf.d目錄
            5. #注意這里的nagios用戶和nagcmd組已在安裝nagios時創(chuàng)建完成 

            注意:這里作者在使用編譯安裝rrdtool時遇到報錯

            解決方法:

            1. cp -R /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/* /usr/lib/perl5/5.8.8/i386-linux-thread-multi/ 
            2. ./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-nagios-user=nagios --with-nagios-group=nagcmd 
            3. #將需要與perl相關(guān)文件復(fù)制過去后,重新編譯 

            Ps:使用yum安裝rrdtool,則忽略此步驟。

            1. make all && make install && make install-webconf && make install-config && make install-init 
            2. #編譯安裝,生成相應(yīng)的配置及初始化文件 
            1. cd   /usr/local/pnp4nagios/etc 
            2. mv misccommands.cfg-sample  misccommands.cfg 
            3. mv nagios.cfg-sample nagios.cfg 
            4. mv rra.cfg-sample rra.cfg 
            5. cd /usr/local/pnp4nagios/etc/pages/ 
            6. mv web_traffic.cfg-sample web_traffic.cfg 
            7. cd ../check_commands 
            8. mv check_all_local_disks.cfg-sample  check_all_local_disks.cfg 
            9. mv check_nrpe.cfg-sample  check_nrpe.cfg 
            10. mv check_nwstat.cfg-sample  check_nwstat.cfg 
            11. #將上述配置文件重命名,使之能夠被程序識別 

            重啟服務(wù)

            1. service npcd restart 

            修改nagios相關(guān)配置文件中參數(shù)

            1. process_performance_data=1 
            2. #將此變量值設(shè)為1 
            3. host_perfdata_command=process-host-perfdata 
            4. service_perfdata_command=process-service-perfdata 
            5. #取消這兩項的注釋 
            1. cd /usr/local/nagios/etc/objects 
            2. vim commands.cfg 
            3. #對nagios命令配置文件進行設(shè)置 
            4. # 'process-host-perfdata' command definition 
            5. define command{ 
            6.        command_name   process-host-perfdata 
            7.        command_line   /usr/local/pnp4nagios/libexec/process_perfdata.pl 
            8.        } 
            9. # 'process-service-perfdata' command definition 
            10. define command{ 
            11.        command_name   process-service-perfdata 
            12.        command_line   /usr/local/pnp4nagios/libexec/process_perfdata.pl 
            13.        } 
            14. #添加上面兩行在文件的末行 ,并刪除或注釋掉原有對process-host-perfdata和process-service-perfdata進行定義的字段 

            說明:command.cfg文件的默認設(shè)置對process-host-perfdata 和 process-service-perfdata有定義,如果直接添加而不刪除默認定義會發(fā)生沖突,進而而導(dǎo)致在檢測配置文件時報錯。

            1. vim templates.cfg 
            2. #對nagios的模板配置文件進行修改 
            3. define host { 
            4. name          host-pnp 
            5. action_url    /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ 
            6. register   0 
            7. define service { 
            8. name         srv-pnp 
            9. action_url   /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ 
            10. register   0 
            11. #在模版中添加pnp4nagios的定義 
            1. cp ../pnp4nagios-0.6.14/contrib/ssi/* /usr/local/nagios/share/ssi/ 
            2. #回到解壓目錄下,復(fù)制鼠標懸停圖標顯示,預(yù)覽繪圖所需的文件 

            定義監(jiān)控服務(wù)/主機

            1. cd /usr/local/nagios/etc/ 
            2. vim mylinux.cfg 
            3. #自定義監(jiān)控主機和監(jiān)控服務(wù) 
            4. define host{ 
            5.            use             linux-server 
            6.           host_name     mylinux 
            7.           alias            mylinux 
            8.           address        192.168.0.72 
            9.         } 
            10. #定義監(jiān)控主機 
            11. define service{ 
            12.         host_name               mylinux 
            13.         use                     generic-service,srv-pnp 
            14.         service_description     PING 
            15.         check_command           check_ping!100.0,20%!500.0,60%! 
            16.         } 
            17. define service{ 
            18.        hostgroup_name           mylinux 
            19.        use                    generic-service,srv-pnp 
            20.         service_description     remote_load 
            21.         check_command           check_nrpe!check_load 
            22.        } 
            23. #定義監(jiān)控的服務(wù) 
            24. define serviceextinfo { 
            25.   host_name             mylinux     #與主機名對應(yīng) 
            26.   service_description   remote_load     #與要顯示的服務(wù)對應(yīng) 
            27.   action_url   /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ 
            28. #這是向nagios監(jiān)控界面對應(yīng)服務(wù)添加pnp4nagios圖標的方法 

            說明:pnp4naigos在安裝關(guān)聯(lián)nagios后會對所監(jiān)控的服務(wù)進行圖形化顯示,但是并非所有服務(wù)都會自動在nagios監(jiān)視見面出現(xiàn)pnp4nagios的圖標,故用以上字段予以定義。

            Ps:具體的監(jiān)控主機以及監(jiān)控服務(wù)在Nagios遠程監(jiān)控軟件的安裝與配置詳解中有詳細說明,這里就不做重復(fù)介紹了^_^

            1. nagios -v /var/www/nafios/etc/nagios.cfg        
            2. #檢測配置文件語法,在先前nagios配置中已經(jīng)定義過nagios命令的PATH故直接使用nagios命令 
            3. service nagios restart 
            4. #重啟服務(wù) 

            刷新nagios界面,您會發(fā)現(xiàn)在之前定義的服務(wù)后面對應(yīng)的回出現(xiàn)pnp4nagios的圖標

            且支持鼠標懸停顯示

            點擊pnp4nagios圖標后進圖繪圖界面



            二、安裝配置nconf

            首先對mysql數(shù)據(jù)庫進行定義

            1. service mysqld start 
            2. #啟動mysql 
            3. mysqladmin -uroot -p password 'RedHat'; 
            4. #給mysql添加管理員密碼 
            5. mysql –uroot –p 
            6. #進入mysql數(shù)據(jù)庫 
            7. mysql> create database nconf;  
            8. #創(chuàng)建nconf數(shù)據(jù)庫 
            9. mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf'; 
            10. #創(chuàng)建nconf用戶并賦權(quán)   
            11. mysql> flush privileges;   
            12. #刷新特權(quán)表 
            13. mysql>quit 

            解壓nconf到指定目錄下

            1. tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/ 
            2. cd /var/www/html/nconf 
            3. chown -R apache.apache config/ temp/ static_cfg/ output/ 
            4. #給相關(guān)文件賦予權(quán)限 

            SELINUX安全上下文

            1. chcon -R -t httpd_sys_content_t /var/www/html/nconf/  
            2. chcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios  
            3. #修改文件的安全上下文  

             Ps:如果您的SELinux已經(jīng)關(guān)閉,忽略此步操作

             http://您nagios監(jiān)控端的IP/nconf

             在web頁面按照安裝提示一步步安裝

             

            #使用剛才創(chuàng)建的nconf數(shù)據(jù)庫和nconf數(shù)據(jù)庫用戶/密碼

            #成功連接mysql數(shù)據(jù)庫

            #輸入用于通過nconf生成nagios配置文件所需的nconf路徑和nagios命令路徑

            #設(shè)置nconf管理員密碼,此時默認登錄用戶為admin

            #網(wǎng)頁安裝完成

            1. rm -rf INSTALL INSTALL.php  UPDATE UPDATE.php  
            2. #刪除安裝所需的初始化文件 
            3. ln -s /usr/local/nagios/bin/nagios bin/nagios  
            4. #給nagios命令創(chuàng)建符號鏈接 
            5. chmod +x /var/www/html/nconf/bin/generate_config.pl  
            6. #給與nagios關(guān)聯(lián)的配置文件賦予執(zhí)行權(quán)限 
            7. chown -R apache.apache  bin 
            8. #修改文件的屬組和屬主 

            重新刷新頁面,輸入admin/您設(shè)置的密碼,進入nconf頁面

            #nconf的主頁面

            #嘗試生成配置文件,以測試是否與nagios成功關(guān)聯(lián)

            到此nconf就安裝完成了!

            NConf 使用方法:

            查看這兩個文件是否有執(zhí)行權(quán)限

            1. chmod +x /var/www/html/nconf/bin/generate_config.pl  
            2. #用來將web頁面的配置設(shè)置轉(zhuǎn)化成文nagios配置文件的腳本,其需要apache用戶有可執(zhí)行權(quán)限 
            3. chmod +x  /usr/local/nagios/bin/nagios 
            4. #給other執(zhí)行權(quán)限,用來檢測nagios配置文件是否有語法錯誤 

            使用流程:

            注意:nconf在【Generate Nagios config】將您的生成nagios配置文件是/var/www/html/nconf/output/NagiosConfig.tgz,而并非直接導(dǎo)入nagios中。

            1.在web頁面對監(jiān)控服務(wù)和主機配置完畢,點擊【Generate Nagios config】

            2.deploy_local.shnconf自帶配置文件導(dǎo)入腳本

            1. chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh         
            2. #這一步不解釋,你懂的 
            3. /var/www/html/nconf/ADD-ONS/deploy_local.sh 
            4. #手動執(zhí)行此腳本,將在/usr/local/nagios/etc下生成兩目錄Default_collector與global 

            3.修改nagios主配置文件

            1. vim /usr/local/nagios/etc/nagios.cf 
            2. #將其中cfg_file=*******字段全部注釋 
            3. cfg_dir=/usr/local/nagios/etc/Default_collector 
            4. cfg_dir=/usr/local/nagios/etc/global 
            5. #添加將其配置文件指向 
            6. service nagios reload 
            7. #重載nagios配置文件使之生效 

            4.添加到crontab

            1. crontab -e 
            2. */1 * * * *  /var/www/html/nconf/ADD-ONS/deploy_local.sh 
            3. #每分鐘監(jiān)測一下是否有更新,有更新就自動覆蓋最新的配置文件 

            四、安裝配置ndoutils

            1. mysql -u root -p 
            2. mysql>create database nagios; 
            3. mysql> grant all privileges on nagios.* TO nagios@localhost identified by 'nagios'; 
            4. #安裝之前先創(chuàng)建nagios數(shù)據(jù)庫,并將此數(shù)據(jù)庫所有權(quán)限賦予nagios用戶 
            5. mysql>flush privileges;  

            Ps:如果之前過程中nagios已經(jīng)創(chuàng)建,此步驟忽略

            1. tar -xvf ndoutils-1.4b9.tar.gz 
            2. cd ndoutils-1.4b9 
            3. cp /root/ndoutils1.4b9_light.patch ./ 
            4. patch -p1 -N < ./ndoutils1.4b9_light.patch 
            5. #給ndoutils打補丁 
            6. ./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios 
            7. #指定安裝目錄為nagios程序位置 
            8. make 

            向mysql中導(dǎo)入數(shù)據(jù)

            1. cd db 
            2. ./installdb -u root -p 您數(shù)據(jù)庫的密碼 -d nagios 
            3. #將初始數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫 

            檢測數(shù)據(jù)導(dǎo)入情況

            1. mysql -u root -p 
            2. mysql>use nagios; 
            3. mysql>show tables;  
            4. mysql>quit 

            1. cd ndoutils-1.4b9 
            2. cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o 
            3. cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db 
            4. cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg 
            5. cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg 
            6. #拷貝相關(guān)配置文件到對應(yīng)目錄 
            7. chmod 774 /usr/local/nagios/bin/* 
            8. chown nagios:nagios /usr/local/nagios/bin/* 
            9. chown nagios:nagios /usr/local/nagios/etc/* 
            10. #修改文件的屬主屬組權(quán)限 

            調(diào)整配置文件

            1. vim /usr/local/nagios/etc/ndo2db.cfg  
            2. #修改ndo的主配置文件 
            3. db_name=nagios 
            4. #指定數(shù)據(jù)庫為nagios 
            5. db_user=nagios 
            6. db_pass=nagios 
            7. #設(shè)置以nagios用戶登入mysql的賬號密碼 
            8. vi /usr/local/nagios/etc/nagios.cfg 
            9. #修改nagios主配置文件 
            10. broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg 
            11. #在末行添加 

            收尾工作

            1. cp ./daemon-init /etc/init.d/ndo2db 
            2. chmod +x /etc/init.d/ndo2db 
            3. chkconfig --add ndo2db  
            4. chkconfig ndo2db on
            5. #添加啟動腳本 
            1. service nagios restart 
            2. service ndo2db start 
            3. #重啟服務(wù) 

            查看日志文件,以驗證ndoutils配置是否成功

            1. tail -20 /usr/local/nagios/var/nagios.log  
            2. #或者 
            3. tail -20 /var/log/messages 

            mysql數(shù)據(jù)庫與nagios通過ndoutils關(guān)聯(lián)成功!

            至此關(guān)于對實現(xiàn)nagios+pnp4nagios+nconf+ndoutils的整合部署就告一段落,以上內(nèi)容在您實現(xiàn)過程中出現(xiàn)的任何問題,或?qū)σ陨先魏蝺?nèi)容的補充,都歡迎在此交流; 并請各位高手前輩大神達人予以批評指正,謝謝

            參考資料:http://www.linuxso.com/linuxxitongguanli/7049.html

             

            posted on 2011-11-12 22:45 大龍 閱讀(2800) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            日日躁夜夜躁狠狠久久AV| 色婷婷综合久久久久中文一区二区 | 国产99久久九九精品无码| 青青青国产精品国产精品久久久久| 国产精品久久久久天天影视| 99久久精品国产一区二区三区| 久久青青草原精品国产不卡| 久久久久久久久久久久久久| 精品久久久久香蕉网| 久久九九久精品国产免费直播| 国产毛片欧美毛片久久久| 国内精品伊人久久久久AV影院| 久久se这里只有精品| 亚洲国产精品无码久久一区二区 | 久久久久久久久无码精品亚洲日韩 | 国产精品久久久久久久久| 久久久久这里只有精品| 99久久精品午夜一区二区 | 久久99久久99小草精品免视看| 久久久久久一区国产精品| 久久久老熟女一区二区三区| 久久久久综合国产欧美一区二区| 国产精品久久久久久吹潮| 国产精品99久久久精品无码| 久久91精品综合国产首页| 久久久久亚洲AV无码网站| 久久精品国产亚洲AV影院| 狠狠人妻久久久久久综合蜜桃| 丁香五月网久久综合| 乱亲女H秽乱长久久久| 久久只有这精品99| 久久久久国产| 久久久久九国产精品| 精品久久久久久久| 国产一久久香蕉国产线看观看| 一本久久知道综合久久| 99久久国产宗和精品1上映| 久久人人爽人人爽人人爽 | 久久久久久久综合狠狠综合| 久久九九久精品国产| 欧洲性大片xxxxx久久久|