• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > nagios分组出图代码实现讲解[1]

nagios分组出图代码实现讲解[1]

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了nagios,nagios配置,nagios怎么读,nagios安装,nagios官网等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

nagios分组出图代码实现讲解[1]


一、背景

鉴于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("choice"); /*这一列是新加的,复选框列*/

printf("HostStatus");

printf("ServicesActions\n");

[root@nagiosnagios-4.1.1]# vim cgi/status.c +3628 #复选框全选代码,服务下拉菜单代码


/*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("function check_all(obj,flag) \n");

printf("{var is_checked =obj.checked;\n");

printf("var checkboxs = $(\"input[flag='\"+ flag+\"']\");\n");

printf("console.log(is_checked);\n");

printf("checkboxs.each(function(){\n");

printf("var cur_box = $(this);\n");

printf("cur_box.prop(\"checked\", is_checked);\n");

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”连接,看看是不是有新发现了呢!!!

祝你好运!



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • nagios分组出图代码实现讲解[2]
  • nagios分组出图代码实现讲解[1]
  • nagios二次开发之“依据分组绘制服务图”

相关文章

  • 2017-05-26高仿饿了么应用项目源码,高仿饿项目源码
  • 2017-05-26redis集群部署以及一些坑
  • 2017-05-26BroadcastReceiver--Android广播机制,broadcastreceiver
  • 2017-05-26Linux下程序产生“段错误”的原因及其解决办法
  • 2017-05-26如何使用Android Studio开发Gradle插件
  • 2017-05-26Android View体系(五)从源码解析View的事件分发机制
  • 2017-05-26Android 代码动态改变View的属性
  • 2017-05-26安卓开源项目周报1220,安卓开源项目1220
  • 2017-05-26android6.0 adbd深入分析(二)adb驱动数据的处理、写数据到adb驱动节点
  • 2017-05-26想要在launcher中模拟按home键。,launcherhome

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 快递物流信息布局,快递物流信息
    • Android 性能分析工具之 TraceView 使用说明
    • Android天天数钱游戏项目源码,android项目源码
    • android开发之路02(浅谈BroadcastReceiver),broadcastreceiver
    • Android之Activity系列总结(一)--Activity概览,android--activity
    • android开发之路03,android之路03
    • android开发中fragment获取context,androidfragment
    • Android热更新开源项目Tinker集成实践总结,androidtinker
    • Android常用命令行-adb,android-adb
    • Android 手机卫士8--删除通话记录,android8--

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有