开源监控解决方案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

第二步骤需要建立软连接,并且注意原文件的权限最好修改为777
#chmod 777 /usr/local/nagios/bin/nagios
#ln -s /usr/local/nagios/bin/nagios /var/www/html/nconf/bin/

#第四步结束后删除临时文件
#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生成配置文件的流程

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安装_第1张图片

点击 Generate Nagios config 后会检测Nagios配置文件是否有问题


开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安装_第2张图片

无问题后点击 Deploy ,就会安装下面的流程和上面配置文件中配置的路径去执行相关操作。

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安装_第3张图片

(1)在 [extract config] 配置的source_file下生成压缩文件同时备份之前的压缩文件,之后解压到target_file下面


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

开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(八)nconf安装_第4张图片


你可能感兴趣的:(nagios,nconf)