最近小嘉在逛论坛时看到一位朋友提出了这样的一个问题,这与之前沟通的一位客户疑惑一致,为他解答的过程自己也整理除了一些思考,故和大家一起聊聊。
01. 开源工具为何会不符合公司要求?基于开源组件定制开发是否是好的方式?
开源工具早期包括现在一直都是国内国外企业在做运维时首选的工具体系,并且其中不乏很多工具入门简单,上手极快,功能强大,安装部署容易,并且还有开源免费的优势,满足了企业组织对维护数据中心稳定运行保障的要求。这里的开源软件包括监控、日志、自动化等常见的运维场景。
1)单个开源工具无法满足所有运维需求
单看其中一个开源工具,除了有上述提到的优势之外,其实也必然存在他的技术短板。就拿监控举例,Zabbix监控发现功能非常好用,并且插件扩展的方式几乎可以丰富任何场景。但zabbix仍有它的短板。对于当前比较火的容器部署架构,Zabbix的IaaS层监控的优势无法发挥出来,并且Zabbix 由于使用了关系型数据存储时序数据,在监控大规模集群时存储会遇到瓶颈。所以在容器、k8s架构下,Prometheus成为了更有优势的工具。所以,为了满足我们的运维需求,需要上很多运维工具。
2)运维核心转向为整个应用与架构的健康性
我们在使用开源工具时,也会面临很多场景问题无法满足,现在的运维团队不再是看单点的运行状态,而是更多以业务视角看整个应用和架构的健康性,这时zabbix的告警无法根据业务拓扑进行收敛就会成为很大的问题,疯狂的告警邮件甚至给运维增加了很多工作量。并且,zabbix根据不同场景的深度使用,都需要通过定制开发实现。除此之外,不同行业的运维体系都有报表和监控大屏的需要,这些也都需要基于业务特点&