NagiosQL是一个基于Web方式的Nagios配置管理工具,它使用PHP语言开发,可运行在Apache下,后台使用Mysql数据库。同时,NagiosQL也是一个开源软件。如果你使用过Nagios,那么你一定感知到了它的强大监控功能,以及它的可扩展性。然而,它的监控配置信息都存放于文件中,配置和修改都需要手工编辑文件,这样十分不便,尤其当监控的内容增多时,问题就更加明显。NagiosQL就是一款解决此类问题的软件,它提供了可视化的配置环境(基于Web方式),因此需要先搭建WEB环境。
一、安装NagiosQL软件
1、搭建web环境,安装依赖包:
[root@localhost /]#yum -y install php-* mysql-* perl-* glibc-* gd-* httpd gcc gettext
2、释放nagiosQL软件包
NagiosQL是一个WEB管理工具,只要把其放到下Apache即可。因为这里它要和Nagios整合到一起,为了方便管理,把其放在Nagios目录下。
3、建立nagiosQL导出nagios配置文件的目录,并修目录权限,否则安装会报错。
4、修改httpd.conf配置文件,添加nagiosQL的虚拟目录。
[root@localhost /]#vim /etc/httpd/conf/httpd.conf
...//省略部分内容
5、重启httpd服务和mysqld服务,并创建nagiosql安装文件。
[root@localhost /]#service httpd restart
[root@localhost /]#service mysqld restart
[root@localhost /]#touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER
6、安装nagiosQL,在浏览器中访问http://yourIP/nagiosQL进行安装nagiosQL。
如下图:选择中文开始安装。
此时,会检测环境是否可用,如果报错根据报错信息解决即可,单击下一步进行安装:
接下来,会要求填写数据库的相关信息,这里默认即可,只填写nagiosQL的管理密码就可以了。
然后,选择完成安装后会弹出登录界面,数据上面创建的用户和密码即可登录。
二、Nagios的基本配置
1、登录后的第一件事就是修改nagios相关路径,在左边菜单选择管理-域,在右边域管理中点击localhost功能中的图标进行修改,修改完成后单击保存即可。
如果出现如下错误,则表示权限不够,因此需要给相应的文件和目录添加权限。
解决办法如下:
2、接着在,“工具”→“导入数据” 右边会列出一些配置文件,按ctrl键全部选择右边的.cfg文件--导入。
3、导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程,“工具”→“Nagios控制”→“写入检测数据”和“写入其他数据”依次顺序执行。
写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功的。
4、修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件
有关在nagios.cfg文件注释原有以cfg_file开头项可以在nagiosql页面选择“工具”→“nagios配置”将原有以cfg_file开头项用#注释,如下图所示:
加入新的配置文件路径
cfg_dir=/etc/nagiosql/hosts/
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
在nagiosql页面选择“工具”—“nagios配置”将上面的内容复制到nagios.cfg文件中,如下图所示:
单击“保存”按钮,保存nagios.cfg文件的修改。
5、再次单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。检测结果如下图所示
解决方法:如下将下列内容注释,
[root@localhost /]#vim /etc/nagios/services/imp_temporary.cfg
并修改servicetemplates.cfg文件中有关srv-pnp的定义,修改结果如下图:
[root@localhost /]#vim /etc/nagios/servicetemplates.cfg
...//省略部分内容
6、再次单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。检测结果如下图所示
根据报错提示解决问题。
解决方法如下:修改hosttemplates.cfg文件,修改后的结果如下图所示:
[root@localhost /]#vim /etc/nagios/hosttemplates.cfg
...//省略部分内容
修改nagios.cfg文件,在nagios.cfg文件中的use后添加host-pnp
[root@localhost /]#vim /etc/nagios/hosts/nagios.cfg
...//省略部分内容
再次单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。根据检测结果解决问题,基本和上面问题解决方法类似,即在主机监控文件的use后添加host-pnp,在服务监控文件的use后添加srv-pnp
单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件检测,直到不提示报错为止。
7、最后重启nagios服务:
如果提示以上错误,很显然又是权限问题,因此给相应文件和目录权限即可,解决如下:
注意:建议在nagios安装好后就布署nagiosql,这样就不会出现上述的问题了。
三:nagiosQL应用配置
通过nagiosql添加要监控的主机:以监控Linux主机(如mysql服务器为例)
例如:加入第一个分区使用情况,注意有些硬盘用的是hda,有些是sda
如果你不确定你所使用的是哪种接口的硬盘,请用命令ls /dev/查看一看,看到我这里用的是SCSI接口的硬盘
1、添加命令:进入nagiosQL管理控制台点 命令-定义-添加
添加如下命令
2、添加监控主机:进入nagiosQL管理控制台点 监督-host-添加
列如:添加一个mysqlhost的主机,添加内容如下:
注意:保存完主机配置后,还需要单击写入按钮,否则无效。
3、添加监控服务 监督-服务-添加
添加服务内容如下:
配置名称:imp_mysqlhost //注:这里的配置名称一定和已监控主机的相关项目的配置文件名一致,我这里是监控mysql服务器,配置文件名称是services/imp_mysqlhost。
服务描述:mysql_server //自定义
检查命令:check_nrpe //前面定义好的命令
$ARG1$:check_check_swap //在被监控主机定义好的命令
单击保存按钮,添加完成记得要点写入配置。
这里我只演示添加check_swap服务,更多服务的添加要靠自己多学习举一反三。
4、然后在主机端关联刚才自定义好的服务,操作过程如下图所示:
在监督—host选项中找到已添加好的被监控的主机,我这里被监控的主机是mysqlhost,单击后面的修改。
注意:别忘记了写入操作,否则无效。
5、最后重启服务,是配置文件生效。
四:查看nagios监控界面,验证监控效果。
哎呀我的天啊!都凌晨两点了,辛苦熬夜写的这篇文章,大家一定要支持啊。