用过zabbix的人都会知道zabbix中定义修改相关配置时可以通过图形界面,快速直观的了解定义其各个配置的关联关系,而在Nagios中通过安装配置NagiosQL就可以实现在图形界面上管理Nagios的配置,NagiosQL其实就是一些php页面通过页面交互数据读写数据库和配置文件中,也是在Nagios中比较常用的一款插件,今天就简要的说一说NagiosQL安装部署,首先毋庸置疑的是使用Nagios肯定需要有php,所以在php安装好后需要一些php的模块插件,在这里建议都使用用yum安装,当然如果是编译安装的可以通过编译源码中的模块来安装,当然因为有和数据库交互所以还必须安装数据库,在这里就选用MySQL,而http服务就选用Apache,NagiosQL可以在Nagios的开源社区中找到:https://exchange.nagios.org/directory/Addons/Configuration/NagiosQL/details建议下载最新的稳定版:

[root@localhost src]# tar -zxvf nagiosql_330.tar.gz -C /usr/local/nagios/#为管理方便就解压到Nagios目录中
[root@localhost src]# cd /usr/local/nagios/
[root@localhost nagios]# mv nagiosql33 nagiosql
[root@localhost nagios]# yum -y install make gcc gcc-c++ zlib-devel libaio php-pear libssh2 libssh2-devel php-pecl-ssh2 php-session php-mysqli php-gettext php-filter php-ftp
[root@localhost nagios]# pear install HTML_Template_IT#相关依赖包的安装,如果php是通编译安装的模块安装需要编译安装,但是一定要注意在php.ini的extension_dir路径一定要指定对
[root@localhost nagios]# cd nagiosql/
[root@localhost nagiosql]# mkdir -p etc/{hosts,services,backup/{,hosts,services}}
[root@localhost nagiosql]# chmod 777 /usr/local/nagios/nagiosql/config
[root@localhost nagiosql]# chown -R nagios:nagios /usr/local/nagios/nagiosql/#创建文件夹及文件属组修改
[root@localhost nagiosql]# vim /etc/httpd/conf.d/nagios.conf#添加nagiosql的虚拟路径
…略…
#add virture directory for nagiosql
Alias /nagiosql "/usr/local/nagios/nagiosql"

       # SSLRequireSSL
       Options None
       AllowOverride None
       Order allow,deny
       Allow from all
       AuthName "Nagios Access"
       AuthType Basic
       AuthUserFile /usr/local/nagios/etc/htpasswd.users
       Require valid-user

此时,再重启httpd后打开后会出现一系列的检查选项,根据实际情况填入即可比较的简单,其中检查中一些必要的配置缺什么就装什么,其中在php的php.ini中mysqli.default_socket变量填入实际的MySQL的socket文件路径即可,在此就不做相关的说明了,但是需要注意的一点是在结束安装或者是安装后修改,在这里的配置路径需要填写绝对路径:

NagiosQL插件的安装应用_第1张图片

其中nagiosql中的路径就填上之前配置创建好的文件夹里,Nagios的路径根据实际情况填写在安装的过程中需要使用数据库的super用户的密码,这个一定需要记得,在正确安装后会在数据中到入相关表数据且分配好相关的用户权限,在创建好后检查一下创建的连接数据库的用户密码,该配置文件在成功安装配置后会在生产连接配置文件:/usr/local/nagios/nagiosql/config/settings.php,在里面有记录着连接数据库的用户密码,此时的用户权限应该有对NagiosQL数据库的SELECT,INSERT,UPDATE,DELETE,LOCK TABLES权限,如果没有请重新授权,因为在数据库中有大量的Nagios配置数据读写,所以在建表时使用的就是MySQL的MyISAM引擎,在服务器上做好定期optimize回收MySQL中的碎片,在成功配置好后最后根据提示删除初始化文件夹install最后可以通过工具完成配置文件的导入数据库及新的配置文件中

NagiosQL插件的安装应用_第2张图片

最后在把原来的nagios.cfg配置下cfg_dir或cfg_file修改至nagiosql下,注释掉原来的配置,也可以通过工具下的“Nagios配置”选项远程修改

NagiosQL插件的安装应用_第3张图片

最后可以通过工具中的“Nagios控制”检查新的配置

NagiosQL插件的安装应用_第4张图片