Nconf点生成使Nagios配置文件立即生效

之前总有人抱怨nconf还需要手动执行脚本,配置才可以生效,太麻烦了,后来也说过可以通计划任务来解决,但是最快也要1分钟才会执行一次,不够及时,想一生成nagios配置文件就可以看到结果,今天这个问题可以彻底解决了!点nconf里的【 Generate Nagios config 】生成Nagios配置文件的同时自动执行脚本,使Nagios的配置文件生效,这样就省的再手动执行一次脚本了,一次性web方式搞定了。

解决办法

1、修改 deployment.ini 配置文件

文件在此目录下 /var/www/html/nconf/config,修改 deployment.ini 文件里第一个中括号下的内容,去掉前面的“分号”符号,并增加要执行的脚本,具体配置如下

修改前:

  1. ;[extract config]
  2. ;type        = local
  3. ;source_file = "/var/www/html/nconf/output/NagiosConfig.tgz"
  4. ;target_file = "/tmp/"
  5. ;action      = extract

修改后:

  1. [extract config]
  2. type        = local
  3. source_file = "/var/www/html/nconf/output/NagiosConfig.tgz"
  4. target_file = "/tmp/"
  5. action      = extract
  6. reload_command = "sudo /var/www/html/nconf/ADD-ONS/deploy_local.sh"

2、至此直接点击nconf里的【 Generate Nagios config 】生成配置文件会报以下错误

system call        FAILED        sudo /var/www/html/nconf/ADD-ONS/deploy_local.sh

sudo: sorry, you must have a tty to run sudo

20160706113659

修改 /etc/sudoers 文件,此文件默认是不可修改的,可以通过直接运行 visudo 来修改

  1. 1)前面加#号注释掉以下行
  2. #Defaults    requiretty           //注释掉
  3. 2)在这后面添加相关权限
  4. root    ALL=(ALL)     ALL
  5. //在此行下面添加下面内容
  6. apache ALL=NOPASSWD:/sbin/sudo,/var/www/html/nconf/ADD-ONS/deploy_local.sh

至此修改完毕,出现以下结果就对了

system call        OK        sudo /var/www/html/nconf/ADD-ONS/deploy_local.sh

Running configuration check...done.

Reloading nagios configuration...done

20160706121647

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: