参考文章
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目录后
- rm -rf INSTALL INSTALL.php UPDATE UPDATE.php
- #删除安装所需的初始化文件
- ln -s /usr/local/nagios/bin/nagios bin/nagios
- #给nagios命令创建符号链接 ,与上面nagios_bin对应
- chmod +x /usr/loca/apache/htdocs/nconf/bin/generate_config.pl
- #给与nagios关联的配置文件赋予执行权限
- chown -R nagios:nagios bin
- #修改文件的属组和属主 此处应该是httpd.conf中的用户和组
重新登录nconf如下
开始配置nconf和nagios,使得nagios可以使用nconf编写的配置文件。
1:赋予一下两个文件权限
- chmod +x /usr/local/apache/htdocs/nconf/bin/generate_config.pl
- #用来将web页面的配置设置转化成文nagios配置文件的脚本,其需要apache用户有可执行权限
- chmod +x /usr/local/nagios/bin/nagios
- #给other执行权限,用来检测nagios配置文件是否有语法错误
2:deploy_local.sh文件的作用是:执行该文件后,将把在nconf编辑的数据写入
以下两个目录Default_collector与global的文件中 。这样我们以前编写的配置
文件不再使用。
- chmod +x /usr/local/apache/htdocs/nconf/ADD-ONS/deploy_local.sh
- #使得该文件可以执行,
- /usr/local/apache/htdocs/nconf/ADD-ONS/deploy_local.sh
- #手动执行此脚本,将在/usr/local/nagios/etc下生成两目录Default_collector与global
3:从2中得知我们自己编写的配置文件将不再使用,这就需要配置nagios.cfg文件
- vim /usr/local/nagios/etc/nagios.cf
- #将其中cfg_file=*******字段全部注释
- cfg_dir=/usr/local/nagios/etc/Default_collector
- cfg_dir=/usr/local/nagios/etc/global
- #添加将其配置文件指向
之后重启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 时会出现错误,表示这几个值设置不对,只要设置一下就可以了。
转载于:https://blog.51cto.com/4560825/842282