产品与开源监控系统的关系
目前市面上有许多开源的监控系统,如Zabbix、Prometheus、Nagios、Open-Falcon等,基调听云基础设施与他们之间又有什么关系呢?
基调听云基础设施的目的是采集操作系统和组件的监控指标,与APM的应用指标关联,同时结合AI技术,快速帮用户定位问题,同时基调听云基础设施希望最小化用户部署的工作量,所以设计上希望能原生接入用户原有的监控系统如Zabbix、Promethus等,但是在架构设计中发现,不同系统之间的架构特性差异非常大,整合开源的监控系统和基调听云应用与微服务指标关联对用户的配置工作量非常巨大,所以基调听云基础设施最终采取了对Prometheus开源系统进行了扩展,使其集成度更高,探针管理更简单易用,可扩展性更强。
所以基调听云基础设施与开源监控系统本身不是互斥关系,基调听云基础设施本身就是基于Prometheus的整套监控系统做的扩展。选择之初,我们进行了广泛调研,目前业界用的较多的开源监控系统是Zabbix和Prometheus,Zabbix的优点是平台安装维护简单,发展时间比较长,主机监控整体较成熟,缺点是组件和容器支持度不高,脚本配置复杂,Prometheus的优点是社区组件探针丰富,容器支持度好,缺点是前端弱,UI界面要对接grafana,管理复杂,配置文件太多,如大规模应用还要对接Kafka、InfluxDB、ElasticSearch等,进一步加深了运维的复杂性。
综上,我们决定对社区的Prometheus监控做一定的改造,减少探针的部署数量,加强探针的管理功能,提供页面管理功能,对接Kafka和Druid存储,使得数据可以长时间存储并可横行扩展。做到让用户JustWork。
在技术不断发展的未来,如果能做到让用户原生对接已有的监控系统,并且客户的可配置工作量做到最小,基调听云基础设施也会在第一时间进行支持。