扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、背景
阜阳网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
鉴于zabbix和cacti的服务分组及图像呈现功能,公司领导以业务最大化稳定为目标导向,对运维部提出“监控系统按服务分组出图实时展现”的功能,运维部属于公司的技术保障支撑部门,面对合理的需求,只能是Yes。
二、需求
监控系统按服务分组出图实时展现
三、软件环境
[root@nagios ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@nagios ~]# uname -r
2.6.32-573.el6.x86_64
lamp环境及nagios基础环境的软件版本如下图所示:
图1 nagios基础环境所用软件版本
四、需求分析及实现
4.1分组功能
我们现在使用的监控系统是nagios,众所周知,nagios默认是带hosts和servers分组功能的,如下图:
图2 nagios默认的分组功能
在此看到的分组菜单跟nagios4.1.1默认版本稍有差别,这个界面是我们修改过的样式,感兴趣的可以试用下。
主机分组截图如图3所示。
图3 nagios主机分组
图3中我们看到的分组相比修改之前多了一列(choice),不错,这一列是如何增加的,是我们接下来要详细讲解的。
nagios主机分组页面和服务分组页面是由status.cgi页面控制的,所以我们要增加选择列,必须修改nagios的源码包,找到status.c文件,修改并重新编译,然后覆盖现有的status.cgi.
4.1.1修改ngios4.1.1源码包
[root@nagios nagios-4.1.1]# ls cgi/status.c
cgi/status.c
[root@nagios nagios-4.1.1]# vimcgi/status.c +3598 #修改3598行为如下所示
/*choice add by xuekun 2016-12-23*/
printf("
printf("Status ");
printf("
[root@nagiosnagios-4.1.1]# vim cgi/status.c +3628 #复选框全选代码,服务下拉菜单代码
/*choice all Begin by xuekun 2016-12-23 */
printf("
printf("
printf("
kbox\"/>\n", hstgrp->group_name,hstgrp->group_name, hstgrp->group_name);
printf("
printf("
printf("
printf("\n");
printf("
printf("\n");
printf("
printf("
printf("
printf("
printf("
printf("
printf("
printf("
/*choice all Begin by xuekun 2016-12-23 */
上述两处代码的添加,主要解决了新增复选框列和服务下拉菜单的问题,接下来我们还要通过jquery实现复选框的全选,代码的实现在544行的document_footer函数中,遵循web设计规则,将js放在页面的最后,提高页面加载速度。
void document_footer(void) {
if(embedded == TRUE)
return;
/* include user SSI footer */
include_ssi_files(STATUS_CGI, SSI_FOOTER);
printf("\n");
printf("\n");
printf("\n");
return;
}
以上代码修改编写完毕,接下来要做的就是重新编译nagios,命令如下
[root@nagios nagios-4.1.1]# make all #执行make all命令重新编译nagios
nagios编译完毕,我们要将编译好的status.cgi替换掉/usr/local/nagios/sbin/目录的status.cgi,替换之前记得先将nagios停掉,具体操作如下:
[root@nagios nagios-4.1.1]# /etc/init.d/nagiosstop #停掉nagios
[root@nagiosnagios-4.1.1]# cp /usr/local/nagios/sbin/status.cgi /home/xuekun/status.cgi_bak #备份原有文件
[root@nagios nagios-4.1.1]# /bin/cpcgi/status.cgi /usr/local/nagios/sbin/status.cgi #替换原有status.cgi
执行完上述命令,F5刷新nagios 访问页面,然后点击“hostgroup”连接,看看是不是有新发现了呢!!!
祝你好运!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流