nagios二次开发之“依据分组绘制服务图”

背景:
      
在nagios3.2.0版本,曾将nagios、saltstack、Thinkphp进行整合。在整合的基础之上,进行了二次开发,新增分组出图、资产管理、服务器批量管理等功能。资产的增删改查借助的是Thinkphp框架;分组出图单独写分组页面,调用pnp的接口;服务器的批量管理,依靠的是saltstack的强大的API,如下图:

图1  按业务分组出图

图2  资产管理和服务器批量管理

上述系统已应用到线上环境。接下来我们要讲述的“依据分组绘制服务图”是在nagios 4.1.1的基础之上进行的二次开发。

一、需求
      依据分组绘制服务图

二、效果图

图三   分组复选框

图四   按业务分组出图

三、实现过程
       1)修改nagios的status.cgi原文件,增加复选框及对应的实现全选的js代码。
       2)切换到pnp4nagios安装目录,新增graphview.php文件,同时追加处理分组出图的php代码。

四、总结
      1)相比nagios3.2.0版本的二次开发,本次分组出图功能的实现只依赖于nagios+pnp4nagios,未借助thinkphp进行分组
      2)有nagios3.2.0的开发铺垫,再次修改nagios4.1.1的时候,可直接修改源代码,降低了复杂度,同时加快了项目进度
      4)无论哪一种开源软件,只要结合自己的业务需求用心钻研,总会有闪光点!

时间: 2024-08-11 01:33:30

nagios二次开发之“依据分组绘制服务图”的相关文章

nagios二次开发(四)---nagios监控原理和nagios架构简介

nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传数据到nagios监控系统中.这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态).NSCA就是可以实现Nagios被动监测的一个程序.目前所知道的,只能通过

nagios二次开发(一)---开发思想

NAGIOS现状   从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启停服务检查及通知的操作.后台的操作,如host增删改查.hostgroup增删改查等操作完全是依赖于server端对服务器目录中配置文件的更改来进行.这样做的好处是,系统管理员可以通过脚本批量的导入所需要的数据.而带来的麻烦就是,无图形化,操作繁琐,无配置文件使用基础的管理员,很难去配置好监控信息.

企业级监控平台开发之nagios二次开发(七)

开发背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了,如何集中的去管理这些服务器,如何对服务器进行资源的合理分配,如何第一时间获取每个服务器的运行状态,如何了解每台服务器运行的服务情况,如何根据资源的使用情况去扩展异或重新采购服务器…….很多问题随着服务器的增多,使用用途的多样性应运而生.因此,现在我所描述的这个平台就是为了解决上面的问题而来的. 目前

nagios二次开发(三)---nagiosql架构简介

NAGIOSQL数据库结构简介 个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库.刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话说的是否在理,因为我确实不懂开发,更没了解过某个系统的架构.嘿嘿. 先来个mysql数据库表的截图,见1.4 这个截图中的表就是nagiosql所用到的表,在二次开发过程中请尽可能的使用系统默认的表,因为这样可以最少的减小系统的出错机率,但是如果在表中加字段时请慎重.因为一个主要原因就是 :nagi

nagios二次开发(二)---nagios和nagiosql合并与取舍

NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称为“后台”.简而言之,后台做为服务器端的配置,前台用来查看结果. 这里取nagios页面中的左侧菜单栏,使其与nagiosql的左侧菜单栏进行合并,当前你可以根据你的业务需要进行取舍. nagios页面中的左侧菜单栏见图1.3 需要实时了解nagios的朋友可以访问nagios官网的demo:htt

nagios二次开发(五)---nagios和nagiosql的关系

根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.cfg配置文件,同时在nagiosql中,可自由的控制nagios的进程的启停.由于在nagiosql安装配置过程中,需要指定nagios配置及应用程序的路径,并且在nagios中需要屏蔽其原有默认的配置目录并修改为nagiosql中的新的路径,这就为二者之后的默契提供了有力的条件. 从这一点来看,二

nagios二次开发之【整体架构】

图1 nagios改造后的整体架构图 图2 为nagios增加的监控按组出图 图3 底层调用saltstack实现服务器的集群管理

nagios二次开发(六)---nagiosql主要文件的介绍

nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prepend_adm.php"); 说明其实nagiosql的入口文件为prepend_adm.php; prepend_adm.php文件是nagiosql的主入口文件,它在整个程序中起到了至关重要的作用,它为整个程序传递了session信息等. 1 $conttp->setVariable(&q

AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

/* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ------------------------------------------------------------------- * * 使用前提:已搭建好AE的GIS基本框架,包括TOC.mapcontrol.toolbar拖控件,mxd.shp文件载入显示,查看图层属性表等 * * --------------------------------------------------