louyaoluan 发表于 2019-1-9 12:45:57

开源监控解决方案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 -zxvfnconf-1.3.0-0.tgz -C /var/www/html/
#chown -R apache:apache /var/www/html/nconf

三、初始化Nconf
  
http://s5.运维网.com/wyfs02/M01/7C/7A/wKioL1bRU9DSDtD8AABrSxn3YWs007.png
  第二步骤需要建立软连接,并且注意原文件的权限最好修改为777
#chmod 777 /usr/local/nagios/bin/nagios
#ln -s /usr/local/nagios/bin/nagios /var/www/html/nconf/bin/

http://s1.运维网.com/wyfs02/M02/7C/7C/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

type      = local
source_file = "/var/www/html/nconf/output/NagiosConfig.tgz"
target_file = "/var/www/html/nconf/temp/"
action      = extract


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


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生成配置文件的流程
http://s1.运维网.com/wyfs02/M02/7C/7C/wKiom1bRU17T03MDAABLHIvDw1M686.png
  点击 Generate Nagios config 后会检测Nagios配置文件是否有问题
  

http://s1.运维网.com/wyfs02/M00/7C/7C/wKiom1bRU1-T0Bo4AABLb_mSLk8003.png
  无问题后点击 Deploy ,就会安装下面的流程和上面配置文件中配置的路径去执行相关操作。

http://s1.运维网.com/wyfs02/M01/7C/7C/wKiom1bRU1-TcrS3AAEabPKE0sE614.png
  (1)在 配置的source_file下生成压缩文件同时备份之前的压缩文件,之后解压到target_file下面
http://s1.运维网.com/wyfs02/M00/7C/7A/wKioL1bRU9KBL7URAAAh2AorszE958.png
  

  (2)按照 和 的配置,将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

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

-fThe 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

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

-sSimulate 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,你会发现有保存和下载按钮,直接编辑文件后点击保存就可

  http://s2.运维网.com/wyfs02/M01/7C/7C/wKiom1bRVsqiFsVPAAExRD9GDpM237.png
  




页: [1]
查看完整版本: 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安装