Open Source Total IT management Solution

在 IT 管理领域里,商业软件厂商中有自称 Big 4 的集团:CA,HP,BMC, IBM;在开源软件项目中也好像有自称“开源 Big 4”的集团,他们是Groundwork、Hyperic、Qlusters 和 Zenoss 公司。商业厂商向用户推出自己的产品的时候,往往都会打着一些比较大的概念和幌子,说“我们是 IT 管理的 Total Solution”;潜台词是我们的产品非常多,可以满足您所有的需求,而且只要您选择了我们,我们能保证所有的产品模块之间是无缝集成的。事实上的确如此,商业厂商凭着后台开发团队的强大,还有本地服务商的支持,在解决方案的集成性上的确没有什么问题。对于开源软件来说,由于每个软件都在各自为政的状态下独立发展,即使是彼此之间的功能有着某种衔接和集成性,在多数的情况下也往往是各自独立发展;没有考虑到彼此的组合和集成。不过换一个角度看,既然是开源软件,人家把源代码都全开放出来了,如果你想做两个开源软件的集成的话,从技术的角度上说,没有任何障碍;对比商业的闭源软件产品来说,似乎他们又在这方面有着与生俱来的优势。

开源的 IT 管理软件中有非常多的种类,就拿网管软件来说吧。我的 blog 上介绍了很多,其中很多的软件都是功能非常重复,而各有千秋的。要想组合一个纯开源的整体 IT 管理解决方案不是不可能的,需要的是对一些比较精华的软件系统有所了解,并且了解他们之间集成的方式和实现功能。在此基础上做出合理的组合,方能搭建出一个整体的方案。

由于现在 ITIL 已经成为了大家耳熟能详的“GOOD PRACTICE”,这是 08 年 V3 之后的一个转变,V3 提出之后,它就以一种亲民的身份,自称自己不再是“BEST PRACTICE”了。既然是要攒一个“开源 IT 管理整体解决方案”,同时为了保持本方案具有一定的理论高度 ;) 选择 ITIL 作为理论依据当然是不会错了呵呵~~ 不好意思今天心情比较好,废话实在太多,抱歉,下面将开始方案书写了。

本方案将兼顾 ITIL 中的两大块:IT 交付和 IT 支持。我所选取的是 OpenNMS, Hyperic HQ 和 OTRS 来分别支撑 IT 交付和 IT 支持者两个部分。OpenNMS 和 Hyperic HQ 组合来完成网络和系统监控,它们为可用性管理、性能(容量)管理和服务水平管理提供支持和实现,注意这里说的是为这几个流程提供支持的工具,这些工具本身并不是流程工具。OTRS 完成事件管理、问题管理、配置管理和服务水平管理等流程,OTRS 本身是一个工单跟踪管理系统,他现在的 ITSM 模块以及发展到 1.1 的版本了,同时自称是 ITIL 兼容的软件。

People over process

IT Delivery

OpenNMS 和 Hyperic HQ 的功能定位有所不同,在这里选择他们俩来作为监控网络和系统的平台由一下的一些理由。OpenNMS 是 agentless 的监控软件,它的网络自动发现功能非常好使,而且现在能支持越来越多的网络设备,对于国内的华为等厂商的设备需要做一些定制后才能监控,否则只能看到标准的 mib2 的信息。最新的版本也能支持分布式的管理功能,也就是 remote monitor 的模块。我没有让 Zenoss 入选网络监控的一个重要原因是,OpenNMS 是纯开源软件项目,它的所有功能都是可用的,而且它是 Java 程序,配置文件大多是 xml 文件。对支持非常大量的网络设备和端口,你需要有的是对 Tomcat 和 Java 应用的调优能力,和通过 OpenNMS 的邮件组来解决 bug 的能力。OpenNMS 里面有非常好的告警事件管理功能,它本身是一个非常好的事件平台,事件升级、报警、过滤等功能都有。而且现在 OpenNMS 已经能和 Hyperic HQ 做事件集成,Hyperic HQ 的报警事件能传递到 OpenNMS 中,这就意味着 OpenNMS 可以作为一个统一集成的事件管理平台,在这里对集中管理所有类型的告警事件。HQ 是一种 Agent based 的监控软件,对于系统监控而言,很多商业厂商的软件功能都无法很好的做到单一代理的技术,当然我认为 BMC 的 Patrol 是例外,它的单一代理技术是我见到最好的。HQ 的单一代理技术意味着,通过在一台服务器上部署一次代理程序后,其他的工作就都转到 web console 上了,在那里,你可以配置代理对各种资源的管理,它的代理能发现非常广泛的基础架构应用:Web, midtier, DB 等。由于 HQ 是一个商业开源的软件,所以它对商业基础架构软件的平台支持的非常好,能支持目前流行的所有基础架构软件包括各种商业的操作系统、数据库、中间件;当然它对开源的软件也能够监控。监控参数很多,配置容易,有开放的接口提供功能扩展开发。从 OpenNMS 和 HQ 的各种图形上可以很好的评价和监控和各种 IT 服务的质量。OpenNMS 中的界面中最多的就是对某个节点或者上面的某个服务可用性的计算。

OpenNMS 和 HQ 实现和完成的功能能为 IT 交付中的:可用性管理、性能管理和服务水平管理提供实时的数据支持,OpenNMS 作为总的事件平台,同时它还监控所有的网络设备。HQ 用来监控所有重要业务服务器,那些边缘的非重要的业务服务器或者是客户端设备也可以交给 OpenNMS 来管理,它的无代理监控,对这些设备也能管理的不错。

IT Support

OTRS 本身是一个非常不错的工单跟踪系统,它在加载了 ITSM 模块之后,就把 ITIL 的很多精髓理论做了很好的诠释和实现。对于很多大型企业用户而言可能会笑话 OTRS 的简陋,不过实施 ITIL 的过程,我觉得应该是:把当前的繁杂工作,按照 ITIL 的几个流程简化梳理的过程,每个流程完成比较单一而纯粹的目标;流程之间又能有一定的集成就可以了。对于 OTRS 的研究,我目前也处于安装和读管理员手册阶段,没时间细看。选择 OTRS 的一个最重要原因是,今年也开发了一个事件集成模块,它能通过这个模块与 Nagios,openNMS,OpenView,Tivoli 等监控产品做事件集成,也就是说告警事件能自动在 OTRS 中生成事件单,而 OTRS 的事件管理模块就负责吧入站的事件单自动化的分配给相关的技术支持人员受理解决。详情请参考 Automated System Monitoring with OTRS Download这个白皮书是在 OTRS.com 的网站上下载的,我当初怀疑这个事件集成模块是否是开源的软件,所以在Christopher T. Kuhn 的 Blog 上问他了一下,他向我确认该模块是开源的,并提供了下载地址。从技术路线上来说 OTRS 是实现了服务台的功能,并且实现事件、问题、配置和 SLA 管理;从界面上看它对这些流程的支持是比较简洁的实现,你完全不能把它和商业的服务台软件来比较。不过实施 ITIL 的道路,我觉得应该是丰俭由人的,我相信一定会有人走简洁路线的。想想 Apple 的产品,它的设计无比的简洁,它简洁并不丑陋,而且还很 cool,很流行。

由于这个方案攒的还是比较匆忙,而且技术上没有实际测试和验证,本文旨抛砖引玉的提出一些思路和想法,未经详细推敲,欢迎提出您的建议。

comments powered by Disqus
本博客始于 2007 年
Built with Hugo
主题 StackJimmy 设计