我们需要什么样的监控工具(二)
-
前一篇里,我们讨论了一个好的监控工具应该具备的第一个特征:简单易用。在很多人的概念里,简单易用意味着工具本省只是一个很小的提供单一功能的工具;不可否认,大多数大家熟悉的简单易用的工具都是这样的(比如以前的Foxmail,BitTorrent,各种助手等),但对监控工具而言,则不能这样理解。它的简单易用体现在让客户快速上手、快速满足业务需求上,在其”简单易用“的表象下面,它必须提供丰富的功能方可满足不同客户的需求。
前面说过,监控本身是一个复杂的需要很多专业知识和经验的任务,再加上工具属性,这个任务往往要被用到不同的场景之下(不同的公司,不同的平台,不同的业务等等),因此一个好的监控工具还需要做到功能全面:它要解决的不是一个问题,而是一类问题,它要满足的不是单个场景,而是繁多且复杂的场景。
如何理解这个功能全面呢?可以分为以下几个层次:
- 监控工具应该能覆盖基本需要,比如能对服务器做基本性能监控,如监控CPU,内存,磁盘使用等,具备基本的数据展示和告警能力。这部分基本需求应该是开箱即用,无需用户进行任何配置即可完成最基本的端到端的功能(数据采集,存储,展示,告警等)。除此之外,客户可以在最基本的基础上进行微调,满足一些特性化的特殊需求(比如对一些告警进行微调,能满足业务特殊告警需要)。在这个层面上,目前市面主流的监控工具基本都能做到,只是各自侧重点有些不同,能给客户进行的定制程度有所差异。
- 监控工具具备丰富的可选插件并支持快速灵活的扩展能力。满足基本监控需求可以帮助客户无需了解任何专业的知识即可解决基本的问题(对一些客户来说,可能是绝大部分问题),但毕竟客户的使用场景和目的不一样,好的监控工具应该能允许客户根据自身需要进行功能扩展。
一个好的监控工具是如何让客户进行功能扩展的呢?首先是通过自身丰富的监控插件或”选项“,客户根据自身业务需要通过选择合适的插件并进行微调(即配置)即可完成;有些监控工具甚至能通过智能的探测主动帮助客户发现和匹配合适的插件并引入插件。比如一些工具提供的自动发现和自动属性探测,可让客户无需技术背景选择合适的插件其特殊监控需求。
但无论监控工具提供多少监控插件,总有特殊的客户场景是无法通过现有插件进行监控的;一个好的监控工具此时会为客户提供快速灵活的扩展能力,帮助客户快速构建所需监控插件。在这个层面上,往往需要客户具备一定的专业知识才可能进行自定义扩展,绝大多数客户会直接委托监控工具供应商进行定制。不得不说这个层次上监控工具的差异会大幅显现:在这方面做的好的监控工具都具备前述简单清晰的概念定义,并在此基础上提供了方便客户进行定制的组件或库。 - 监控功能应该是综合全面的。这个综合全面体现在一个工具满足一个场景下多个面的需求。比如在监控一个Kubernetes系统时,我们不仅要对其性能进行监控,还需要对其事件、日志进行监控,集群流量和POD关系进行监控以及运行于集群内微服务之间的业务交互进行监控。
早期的监控产品往往是专注于一个面,比如早期的LogicMonitor专注的是ITIM(IT设施性能监控)和NPM(网络性能监控),DataDog专注于APM,SumoLogic则是专注于日志监控,但随着技术的进步和客户业务需求的需要,它们都不可避免的走向了全面综合监控:LogicMonitor不断扩充其对APM监控的能力并通过收购增加了日志监控的能力,DataDog也逐步覆盖了基础设施、网络性能的监控;SumoLogic则在日志监控的基础上增加了性能指标监控,可满足基本的ITIM和APM监控需求。在国内,则越来越的监控实施商(谈不上供应商)开始帮助客户构造所谓的统一监控平台,尝试把若干监控工具整合到一个平台中,以适应业务的综合全面监控需求。
虽然大家都知道监控工具应该具备丰富的功能并具备灵活扩展的能力,但能做好的厂商并不多见。前面提到的几个监控工具虽然在这方面已经是处于领先地位,但受限于其技术特征和最初构造理念,它们总在一些方面有明显的缺陷,导致客户很难甚至无法实现一些特殊监控需求。择维士数象智云则是基于这些最新理念构造的新一代监控工具,从根本上可以避免这些处于头部位置监控工具所面临的困境。
具备丰富功能且简单易用的监控工具,就已经能算上一个好的监控工具了,如果它能在满足我们下篇文章所说的场景覆盖能力,则可以是一个完美的可用于构造客户监控系统的完美监控解决方案了。