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: