在Zabbix的使用过程中,自动发现(network discovery & low level discovery)堪称监控的运维利器。配置一个发现规则,即可将所有的机器纳入监控。这种自动化的能力,可以秒杀一大片监控系统。那么,这种自动化能力是不是就足够了呢,或者说是不是适用于所有的场景?在OneOaaS看来,未必都可以满足,(OneOaaS是Zabbix的合作伙伴,并且推出了自己的监控大屏解决用户的Zabbix使用问题)。但从我们大量用户的使用场景来看,一个没有CMDB的运维环境中,而只依靠Zabbix监控系统,实难担当资产管理的大任,对维护监控系统的人员压力太大。
那么,读者可能要问了。究竟是以监控系统为主,还是以CMDB为主?OneOaaS给出的建议是,在规模较小,业务环境不复杂的情况下,可以以监控系统为主,但规模较大,变化较快,必须以CMDB为主。 在Zabbix监控的第一次添加的时候,设备的角色,往往不能立即定义,或者是,设备的用途尚未完全划分,业务也尚未运行。所以,即使这个时候有了自动发现,也是英雄无用武之地也。或者说机器今天这种用途,明天那种用途,Zabbix的维护真的是个头疼的事情(朝令夕改,你到底烦不烦呀?),为此呢,现年来出现某些以客户端主动push数据为主的监控系统。即服务端无需关心客户的任何配置,数据进来就写入。再者加上tag标记,让设备的用途(角色)自动更新。此时的监控系统,在大规模环境的使用上,已经超越了Zabbix,解决了这种用户的痛点。但这种系统的监控功能未必有Zabbix那么强(毕竟能同时提供Agent、SNMP、IPMI、JMX、WEB、SSH、TELNET、扩展监控脚本,并且能自定义的开源监控系统真的不是很多)。虽然zabbix 3.2也引入了tag的技术,但要达到这种效果,还得有一段路程要走。 说了这么多,那么CMDB在什么时候可以用呢? 就目前来看,一个有序的IT组织,必然需要一个统一的资产管理平台,所有的系统,都以CMDB为核心,如机器上线,则自动注册到CMDB,业务变更,自动注册到CMDB,角色变更,停机维护,也同时变更CMDB,此时,监控系统只需要维护好相应的规则,即可让监控的自主添加,从而弥补了主动扫描不够准确的缺陷。同时,灵活性大大增强。只需要通过CMDB获取到设备的相关信息和状态,然后主动更新监控系统,并且纠正以前添加好的,但信息不准确的监控。 这样一个过程,将资产的无序状态,变成了有序状态。从而让监控系统实现自主的维护。 相信使用Zabbix的朋友们深有感受,监控系统的维护,是个体力活,同时也是个技术活(有同感的请举手)。维护久了,就算通过API写一些脚本,实现部分功能的自动化。但仍然是一件比较心累的事情,尤其是公司人员众多,多个小组同时维护一套Zabbix监控系统的时候,沟通协调的问题,导致了监控系统出现死角,信息不透明,导致了监控变更不及时。维护量巨大,而大多数的公司,不会让你一个人专门去维护Zabbix,还得干些其他业务价值的活。 经历过这些后,你会觉得有一套CMDB是多么幸福的事情(幸福感每一个工程师的追求,以手动操作为耻)。 然而,CMDB的建设,也并不是一帆风顺的(风险系数极高,请三思而后行)。 首先,CMDB是一个资产管理系统,他需要采集所有设备的资产信息,其次,他需要周而复始的更新数据信息,手动操作,难免遗漏,自动操作,又会陷入Zabbix自动发现的尴尬境地。另外,CMDB是一个组织的人员协作和IT资产流转,生命周期的管理。从设备的上下架到维保,整个生命周期都需要在CMDB里面体现出来,所以别看CMDB是一个增删改查的DB,其实往往没你想的那么简单(经历过的人都有同感)。 那么,很多同学说要自建CMDB,很多公司也这样做了,然而实际效果如何呢?恐怕未必都造的非常好,自己造的轮子,含着泪都要用。最终的结果就是发现花了很大精力造的CMDB,最终还是无法很好的运转和推广。 CMDB往往会被神话,很多人说这个东西很灵,能解决什么什么问题,其实当你真正用起来了,你又感觉不到他到底与多大价值。这种感觉就是,少了你不行,有了你不觉得你真有多重要(此处运维深深的躺枪)。说实话,很难说CMDB的具体价值,但没有CMDB一定是不行的。CMDB造的不好,一定也是不行的,造的好,带来的价值是巨大的,造的不好,他一定会带来负面影响,效率不一定提高。 CMDB有哪些解决方案呢?开源的,itdb,itop,cmdbuild,ralph等等,商业的BMC,卓豪等。当你用了开源的CMDB后,恐怕不想再用了。那真不是一般的难用。商业的CMDB,成熟完善,但一般定制不太灵活。然后,你可能最终会选择自建CMDB,回到了开始说的那个循环中了。 一般CMDB系统,都花了很大精力去造CI(配置管理项,即资源)和自动化建模,但是不是真的好用,这个很难说。是不是能真正的解决你问题,这个也不好说。例如要达到前面和Zabbix结合使用的效果,恐怕还得你自己去造一个中间环节的轮子才能很好的使用。 CMDB的实施,一般都需要从领导层的支持,坚定不移的推广下去,不然,CMDB是件很难进行的事情。因为,没有人愿意往CMDB里面去更新数据(这是一个公开的秘密)。而要用数据的时候,CMDB里面未必就有,所以,维护CMDB的活是个不讨人喜欢的。 就目前来看,能有一套即满足CMDB基础功能的,又可以与Zabbix,发布系统,业务系统相结合的CMDB,才是用户真正想要的CMDB系统。 总体来说,想要让Zabbix使用的更好,你是需要结合CMDB的,也需要结合一些自动化工具。如果有那么一天,Zabbix和这几个工具更好的整合了,那么维护Zabbix的活,将会轻松很多。当然,OneOaaS从官方了解到的,Zabbix并没有这些打算呀。所以,暂时 只能大家自己造轮子吧。 原创:OneOaaS
|