Open Source Total IT management Solution

Reading time ~1 minute

在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,很流行。

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

互联网规模的超融合平台

什么是互联网规模?什么是web scale风格?看下Nutanix的亮点。 阅读全文

2017DevOps采用和趋势现状-信息图

Published on February 11, 2017