nagios二次开发(一)---开发思想
NAGIOS现状
从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启停服务检查及通知的操作。后台的操作,如host增删改查、hostgroup增删改查等操作完全是依赖于server端对服务器目录中配置文件的更改来进行。这样做的好处是,系统管理员可以通过脚本批量的导入所需要的数据。而带来的麻烦就是,无图形化,操作繁琐,无配置文件使用基础的管理员,很难去配置好监控信息。更大的问题是:对nagios系统配置的权限无法进行有效的限制。因为nagios的UI层的权限控制是通过apache的权限模块来进行的。种种弊端我们都懂得!
图1.1为当前nagios的UI界面(截图来自官网):
NAGIOSQL现状
当我们发现开源项目nagiosql(http://www.nagiosql.org/)存在时,我们终于祈祷,nagios的春天来了!nagiosql为nagios提供了强大的后台配置的支持,完全解决了nagios无UI配置界面的问题。但是它无法解决nagios完全依赖于配置文件.cfg进行配置的事实。即使后来的后来出现的NDOUTILS也无法直接解决这个问题。因为NDOUTILS只是把nagios的配置及监控结果放到了数据库中而已。目前我所了解到的一个能用到NDOUTILS的产物mysql数据库中的数据的一个项目已经在google开源项目中停滞n多年了,后续我会简要的介绍下这个项目。Nagiosql目前的存的问题是,配置项n多,上手需要些时日才会把它的用法及与nagios的关系滤清。且最重要的问题就是,它是和nagios相独立的一个项目,目前来看只是有几毛关系而已,既然不是一个项目,那它的问题就是,它只会提供后台nagios配置服务。那现在的问题来了,我们配置后台数据的时候需要在nagiosql上配置,但是查看监控数据的时候却需要跳到nagios上去看,而他们却没有统一的认证及权限控制机制。
图1.2为当前nagiosQL的UI界面:
二次开发思想
针对以上的问题(前后台分离,无统一的权限控制)。我们想到了针对nagios+nagiosql进行二次开发,以满足两者的先天不足以及按我们目前的业务要求进行的定制化开发。我这里只讨论UI层面的开发问题,不会涉级nagios的服务监控机制,因为那个太高深了,一时玩不转。如果真正有需要的话,我建议你花点钱去买个它的商业版。也许此时有些朋友会说,不是有很久之前的centreon和当前强大的zabbix吗,为什么不用它们。那么我要谢谢你的提醒,对于centreon我确实不太了解,如果你想了解的话去这里(http://assets.nagios.com/datasheets/compare/How_Nagios_Compares_To_Centreon.pdf)。至于zabbix,昨天确实才查它的资料,感觉不错,功能震撼。但是我们对它还不太了解。所以暂时未考虑。末来是有可能的,但是目前据我所知,也有部分人也在对zabbix进行着二次开发,瞧瞧吧,无论选择什么都是要二次的,=。=。
请朋友们转载时注明出处,因为我是为了更好的方便大家来和我讨论。谢谢了。
意见及建议:ruberzhu@qq.com
nagios二次开发(一)---开发思想的更多相关文章
- 20155235 《Java程序设计》 实验二 实验三 敏捷开发与XP实践
20155235 <Java程序设计> 实验二 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验内容 没有Linux基础的同学建议先学习<Linux基础入 ...
- Appium移动自动化测试(二)--安装Android开发环境(转)
Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节 ...
- (二)Hololens Unity 开发入门 之 Hello HoloLens~
学习源于官方文档 微软官文~ 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发入门 之 Hello HoloLens~ 本文主要 ...
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- Android应用开发以及设计思想深度剖析
Android应用开发以及设计思想深度剖析(1) 21cnbao.blog.51cto.com/109393/956049
- UI标签库专题二:JEECG智能开发平台Column(列) 子标签
UI标签库专题二:JEECG智能开发平台Column(列) 子标签 1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...
- JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上
JavaWeb-RESTful(一)_RESTful初认识 传送门 JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上 传送门 JavaWeb-RESTful(三)_使 ...
- WebService学习总结(二)--使用JDK开发WebService
一.WebService的开发方法 使用java的WebService时可以使用一下两种开发手段 使用jdk开发(1.6及以上版本) 使用CXF框架开发(工作中) 二.使用JDK开发WebServic ...
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- Appium移动自动化测试(二)--安装Android开发环境
继续Appium环境的搭建. 第二节 安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...
随机推荐
- 基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案
分布式Web网站一般都会碰到集群session共享问题,之前也做过一些Spring3的项目,当时解决这个问题做过两种方案,一是利用nginx,session交给nginx控制,但是这个需要额外工作较多 ...
- SQL数据库添加新账号,只操作指定数据库
思路: 1.创建数据库服务器登录用户 2.创建指定数据库的用户,并且和服务器用户联系起来 3.给数据库的用户添加角色 代码实现: 1.创建名为login的服务器登录用户dba,尼玛dbpwd,默认数据 ...
- vs 配置宏
Win_$(PROCESSOR_ARCHITECTURE)_$(PlatformArchitecture) <==> Win_x86_64 OR Win_x86_32$(Configura ...
- CORS 协议(跨域资源共享)
跨域问题 只要协议.域名.端口有任何一个不同,都被当作是不同的域. 为什么会有跨域的限制? 之前发生过的一些跨域安全事件: 新浪微博XSS受攻击事件 2011年6月28日晚,新浪微博出现了一次 ...
- AIX上增加逻辑卷时报错误0516-787 extendlv: Maximum allocation for logical volume
AIX上增加逻辑卷时报错误0516-787 extendlv: Maximum allocation for logical volume jdelv02 is 512. 在往aix使用chfs -a ...
- ubuntu12.04安装WineQQ2012
1:下载WineQQ2012-20120531-Longene.deb 2:直接用软件中心安装或者执行命令,进入文件目录执行sudo dpkg -i WineQQ2012-20120531-Longe ...
- oracle 邮件发送
CREATE OR REPLACE PROCEDURE PRC_sendmail(p_receiver VARCHAR2, -- 邮件接收人 ...
- vs2010 打包 SQL server compact 4.0 驱动程序
sqlce 3.5应该是.net3.5环境下的.不知道最初的时候数据库的创建是用的3.5还是4.0 .这两天测试的时候,将4.0卸载了.就运行不上.报错为“未能加载文件或程序集“System.Data ...
- 关于Core Animation(转载部分内容)
读者在浏览技术博客的时候,看到一篇关于Core Animation的介绍,觉得挺有用的,想分享给大家.原作者不知道是谁,嘿,所以就先不标注了,如有冒犯敬请原谅.不过笔者从中摘录部分内容分享一下. 其中 ...
- PHP数据类型
在PHP中,一共支持8种数据类型:整型,浮点型,布尔型,字符串型,数组,对象,空类型(NULL),资源型 标量类型 int(integet)整数类型 整型数据:在内存中占4个字节,也就是32个bit位 ...