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

简介: 背景:        在nagios3.2.0版本,曾将nagios、saltstack、Thinkphp进行整合。在整合的基础之上,进行了二次开发,新增分组出图、资产管理、服务器批量管理等功能。
背景:
       在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)无论哪一种开源软件,只要结合自己的业务需求用心钻研,总会有闪光点!
目录
相关文章
|
1月前
|
数据可视化 前端开发
可视化图表与源代码显示的动态调整
【8月更文挑战第6天】本篇文章通过一个前端图表示例由浅入深,从基本图表显示再到页面源代码的显示到最后实现通过拖动一个可调整大小的分隔符,使用户可以动态地调整图表显示区域和源代码显示区域的大小。全文注释标注,小白也可上手尝试
40 1
可视化图表与源代码显示的动态调整
|
21天前
|
数据可视化 前端开发 JavaScript
可视化图表与源代码显示配置项及页面的动态调整功能分析
本篇文章对可视化图表与源代码显示配置项及页面的动态调整进行了一个详细的功能分析,我将文章内容分为四个部分(分析图表源代码;分析源代码显示功能;分析源代码显示及动态调整;分析代码编辑器及运行效果显示)。对此,我会一一为大家解释代码的结构,功能的组成;且文章出现的所有代码,为了方便小白也能够读懂,我都做了详细的注释
37 0
可视化图表与源代码显示配置项及页面的动态调整功能分析
|
3月前
|
人工智能
亿图图示---一款好用的绘图软件
亿图图示---一款好用的绘图软件
|
监控
zabbix利用grafana自定义监控图形展现(十一)
zabbix利用grafana实现监控图形展现 1.修改已有的system load监控图像 下面这张图是现在已经有的系统负载监控图,可以看到只有15分钟的负载并没有1分钟和5分钟的负载,我们现在修改一下图形,让他支持1分钟和5分钟的系统负载
1053 0
zabbix利用grafana自定义监控图形展现(十一)
|
机器学习/深度学习 监控 算法
绘制森林资源图的工具介绍
绘制森林资源图的工具介绍
116 0
绘制森林资源图的工具介绍
|
Python
②matplotlib绘制直方图之基本配置——万能模板案例
matplotlib绘制直方图之基本配置——万能模板案例
206 0
②matplotlib绘制直方图之基本配置——万能模板案例
|
数据可视化 数据库 Python
①matplotlib绘制直方图之基本配置——万能模板案例
matplotlib绘制直方图之基本配置——万能模板案例
301 0
①matplotlib绘制直方图之基本配置——万能模板案例
|
Python
matplotlib绘制火柴杆图之基本配置——万能模板案例
matplotlib绘制火柴杆图之基本配置——万能模板案例
186 0
matplotlib绘制火柴杆图之基本配置——万能模板案例
|
数据可视化 BI Python
快速绘制动态排序图 — Pyecharts 高级组件 Timeline 实现!
之前写过一篇关于Python 制作 动态排序图的教程,里面利用的是 Matplotlib 中的 animation 函数,文章内容可参考动态排序图的详细制作教程,动态排序图的最终部分效果如下:
快速绘制动态排序图 — Pyecharts 高级组件 Timeline 实现!