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