随手记统一监控平台Focus设计解析
2023-11-11 08:46:40
Focus 是随手记自研的统一应用监控平台,支持公司所有业务系统和中间件的实时监控、历史监控、异常告警和服务诊断功能,并在投入使用后成功降低故障响应时间15%,系统可用率提升3%。 在刚开始设计之初,我们一直在思考两个问题:一、如何做好企业级的应用监控? 二、除了技术问题,在企业级应用监控平台建设过程中,还需要重点关注哪些问题?
- 如何做好企业级的应用监控?
我们把企业级应用监控平台的功能分为四类:数据采集、数据存储、数据分析、数据展示,而做好企业级应用监控,则需要着重考虑以下三个方面:
- 采集数据的完整性
- 采集数据的高效性
- 采集数据的实时性
- 技术问题之外,还需重点关注哪些问题?
在应用监控平台的建设过程中,除了技术问题之外,我们还需要重点关注以下几个问题:
- 使用成本和维护成本
- 数据安全与合规
- 平台的可靠性和可伸缩性
- 技术和业务团队合作
Focus的设计目标
- 支持海量数据实时采集
- 快速接入、简单配置
- 提供丰富的监控指标
- 支持多维度监控告警
- 提供可视化数据分析
- 高可用、高可靠
Focus的实现
Focus的整体架构分为三个部分:数据采集层、数据存储层、数据分析展示层。
-
数据采集层
-
数据采集是应用监控平台的基础,Focus目前支持主流的Linux和Windows操作系统,以及多种应用程序和中间件的监控,例如Java、C++、Python、Node.js、MySQL、Redis、MongoDB、Kafka等。
-
监控采集模块是Focus的核心组件之一,它负责从应用程序和中间件中收集监控数据,并发送到数据存储层。
-
数据存储层
-
Focus采用MySQL作为数据存储引擎,主要用于存储采集的数据和告警历史记录。
-
为了保证数据的可靠性和一致性,Focus采用了主从复制和读写分离的架构,主库负责数据的写入,从库负责数据的读取。
-
数据分析展示层
-
Focus提供了一个Web管理界面,用户可以通过该界面查看监控数据、配置告警规则、接收告警通知等。
-
Focus还提供了丰富的API接口,用户可以将这些接口集成到自己的应用程序中,实现自定义的监控功能。
Focus在随手记的应用
Focus在随手记已经广泛应用于各个业务系统和中间件的监控,例如:
- 随手记主站
- 卡牛主站
- 随手记开放平台
- 随手记数据平台
Focus的应用效果
- 故障响应时间降低15%
- 系统可用率提升3%
- 运维成本降低20%
Focus的未来发展
Focus的未来发展主要包括以下几个方面:
- 支持更多的数据采集方式
- 支持更多的数据分析和展示功能
- 提高平台的可靠性和可伸缩性
- 增强平台的安全性