参考文章
http://evolution.blog.51cto.com/3343305/661607
http://itchen.blog.51cto.com/343363/291063
下载nconf 我的是nconf-1.3.0-0.tgz
tar -zxf nconf-1.3.0-0.tgz
mv nconf /usr/local/apache/htdocs/ //直接放在apache目录下,就不用在设置nconf的配置文件了。
cd /usr/local/apache/htdocs/nconf 进入nconf目录给几个文件赋予权限
chown -R nagios:nagios config/ output/ static_cfg/ temp/
关闭selinux
我使用永久行关闭:vi /etc/sysconfig/selinux
SELINUX=disabled
为nconf建立数据库
mysql> create database nconf;
Query OK, 1 row affected (0.03 sec)
mysql> grant all privileges on nconf.* to nconf@localhost identified by '111111';
Query OK, 0 rows affected (0.06 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
登录localhost/nconf 以web方式安装nconf
如下
刚才建立的数据库的信息:数据库名nconf和密码和用户名nconf
成功连接数据库
nconf目录和nagios_bin的目录:我的是
nconf=/usr/local/apache/htdocs/nconf
nagios_bin=/usr/local/apache/htdocs/nconf/bin/nagios
注意此处/usr/local/apache/htdocs/nconf/bin/nagios文件并不存在,再以后会给解决
此处设置nconf将以web方式登录:
用户名admin
密码:自己设置
点击finish后出现一下内容:
此时需要做一下内容:
进入nconf目录后
重新登录nconf如下
开始配置nconf和nagios,使得nagios可以使用nconf编写的配置文件。
1:赋予一下两个文件权限
2:deploy_local.sh文件的作用是:执行该文件后,将把在nconf编辑的数据写入
以下两个目录Default_collector与global的文件中 。这样我们以前编写的配置
文件不再使用。
3:从2中得知我们自己编写的配置文件将不再使用,这就需要配置nagios.cfg文件
之后重启nagios
我重启nagios后出错
Warning: Duplicate definition found for command 'check_local_disk' (config file '/usr/local/nagios/etc/global/checkcommands.cfg', starting on line 1)
Error: Could not add object property in file '/usr/local/nagios/etc/global/checkcommands.cfg' on line 2.
Error processing object config files!
这就是因为我还在使用以前的cfg文件,导致命令定义出现冲突,所以注释掉以前的文件很重要。
4:设置deploy_local.sh,让其每当修改nconf时都把修改的数据写入
那两个文件夹中的文件中。
*/1 * * * * root /usr/local/apache/htdocs/nconf/ADD-ONS/deploy_local.sh
我添加了root ,不添加时并没有出现deploy_local.sh每一分钟执行一次。
当你使用nconf后,如果没有在nagios的web中显示,可以手动执行deploy_local.sh文件
5:使用nconf注意事项
a:我添加主机监控时,在hosts由一个选项host is collected 要选no
b: 添加服务时,有些选项要设定值如
总之,如果没设置在点击generate nagios config 时会出现错误,表示这几个值设置不对,只要设置一下就可以了。