開源監控解決方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安裝

nconf提供WEB界面,管理nagios配置,其將nagios配置文件放入數據庫,用戶做相應修改後點擊生成配置文件,Nconf會從數據庫中將配置寫入配置文件。所以最後nagios的配置還是以文件的形式存在,這是相對與nagioSQL本人比較喜歡Nconf的原因,其次Nconf還提供了靜態文件的修改頁面。


一、初始化數據庫
mysql> create database nconf default character set utf8;
mysql> grant all privileges on nconf.* to 'nconf'@'localhost' identified by 'XXXX' with grant option;
mysql> grant all privileges on nconf.* to 'nconf'@'%' identified by 'XXXX' with grant option;
mysql> flush privileges;

二、安裝Nconf
#tar -zxvf  nconf-1.3.0-0.tgz -C /var/www/html/
#chown -R apache:apache /var/www/html/nconf

三、初始化Nconf

wKioL1bRU9DSDtD8AABrSxn3YWs007.png

第二步驟需要建立軟連接,並且注意原文件的權限最好修改爲777
#chmod 777 /usr/local/nagios/bin/nagios
#ln -s /usr/local/nagios/bin/nagios /var/www/html/nconf/bin/

wKiom1bRU17To9rSAACVwQ9IU0w391.png

#第四步結束後刪除臨時文件
#rm -rf /var/www/html/nconf/{INSTALL,INSTALL.php,UPDATE,UPDATE.php}


三、配置Nconf sudo權限和自動生成配置文件

#visudo

apache    ALL=(ALL)       NOPASSWD:/etc/init.d/nagios

//修改nconf配置文件
#cat /var/www/html/nconf/config/deployment.ini
[extract config]
type        = local
source_file = "/var/www/html/nconf/output/NagiosConfig.tgz"
target_file = "/var/www/html/nconf/temp/"
action      = extract

[copy collector config]
type        = local
source_file = "/var/www/html/nconf/temp/Default_collector/"
target_file = "/usr/local/nagios/etc/Default_collector/"
action      = copy

[copy global config]
type        = local
source_file = "/var/www/html/nconf/temp/global/"
target_file = "/usr/local/nagios/etc/global/"
action      = copy
reload_command = "sudo /etc/rc.d/init.d/nagios reload"


四、nconf生成配置文件的流程

wKiom1bRU17T03MDAABLHIvDw1M686.png

點擊 Generate Nagios config 後會檢測Nagios配置文件是否有問題


wKiom1bRU1-T0Bo4AABLb_mSLk8003.png

無問題後點擊 Deploy ,就會安裝下面的流程和上面配置文件中配置的路徑去執行相關操作。

wKiom1bRU1-TcrS3AAEabPKE0sE614.png

(1)在 [extract config] 配置的source_file下生成壓縮文件同時備份之前的壓縮文件,之後解壓到target_file下面

wKioL1bRU9KBL7URAAAh2AorszE958.png


(2)按照[copy collector config][copy global config] 的配置,將source_file 的文件複製到target_file 下。

(3)執行 sudo /etc/init.d/nagios reload


五、將現有配置導入Nconf中

(1)注意事項
按以下方式導入可避免配置文件之間的衝突:
1. timeperiods
2. misccommands & check_commands
3. contacts
4. contactgroups (considering that some contactgroups might be linked to others)
5. host-templates
6. parent-hosts, then remaining hosts
7. hostgroups (considering that some hostgroups might be linked to others)
8. host-dependencies(主機依賴)
9. service-templates
10. services
11. advanced-services
12. servicegroups (considering that some servicegroups might be linked to others)
13. service-dependencies

現有配置文件按屬性做更精細的分離,確保每個配置文件裏面只有對應的配置屬性

(2)語法
Usage:
/var/www/html/nconf/bin/add_items_from_nagios.pl -c class -f /path/to/file [-x (1-5)] [-s]

Help:

 required

 -c  Specify the class of items that you wish to import. Must correspond to an NConf class
     (e.g. "host", "service, "hostgroup", "checkcommand", "contact", "timeperiod"...)

 -f  The path to the file which is to be imported. CAUTION: Make sure you have
     only items of one class in the same file (e.g. "hosts.cfg", "services.cfg"...)
     Also make sure you import host- or service-templates separately ("host" or
     "service" items containing a "name" attribute)

 optional

 -x  Set a custom loglevel (1 = lowest, 5 = most verbose)

 -s  Simulate only. Do not make any actual modifications to the database.
 
 #-s爲測試模式,不會往數據庫插入任何數據
 /var/www/html/nconf/bin/add_items_from_nagios.pl -c timeperiod -f /usr/local/nagios/etc/objects/timeperiods.cfg -s
 
 (3)實戰
/var/www/html/nconf/bin/add_items_from_nagios.pl -c timeperiod -f /usr/local/nagios/etc/objects/timeperiods.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c misccommand  -f /usr/local/nagios/etc/objects/misccommands.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c checkcommand -f /usr/local/nagios/etc/objects/checkcommands.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c contact -f /usr/local/nagios/etc/objects/contacts.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c contactgroup -f /usr/local/nagios/etc/objects/contactgroup.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c host-template -f /usr/local/nagios/etc/objects/host-template.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c host -f /usr/local/nagios/etc/objects/hosts.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c service-template -f /usr/local/nagios/etc/objects/service-template.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c service -f /usr/local/nagios/etc/objects/services.cfg -s
/var/www/html/nconf/bin/add_items_from_nagios.pl -c service -f /usr/local/nagios/etc/objects/localhost.cfg -s


六、靜態文件修改功能

static_cfg默認路徑爲/var/www/html/nconf/static_cfg

//創建一個測試文件

#echo "您好kjklsj111" >>/var/www/html/nconf/static_cfg/test.txt 


頁面點擊Administration->Edit static config files,你會發現有保存和下載按鈕,直接編輯文件後點擊保存就可

wKiom1bRVsqiFsVPAAExRD9GDpM237.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章