导读
云信公有云系列产品已经稳定运行数年,随着企业对信息安全和数据隔离愈加重视,云信产品私有化课题必然成为云信发展过程中一个的重要分支。依赖虚拟化和容器技术的日臻成熟,云信业务系统已经全面完成私有化,并且在多家企业内部稳定运行,成为云信产品线重要的一部分。
在公有云的服务中,云信日志信息采集和系统监控报警是依赖网易多年技术沉淀下来的自研平台,然而对于云信私有化产品来说这套自研平台显得过于繁杂,同时相对于公有云,私有化产品由于搭建在企业内部的特殊性往往具有网络上的隔离,云信技术支持人员不易直接访问私有化环境,而企业运维人员对云信系统了解程度又相对有限。因此私有化产品需要搭建一套更轻量级同时又具备高可用的日志和监控平台来向企业内部的运维人员实时展示服务状态和运行数据并作出预警。
本文将详述云信私有化日志监控服务端架构,如果你需要为自己的产品搭建日志采集和监控平台,这篇文章可以作为参考。
云信私有化主要技术
在开始介绍日志监控平台,我们先初步了解一下云信私有化整体方案以及所使用的技术栈。现在云信公有云产品本身涉及的模块众多,技术架构和编程语言不同,依赖的环境和网络也有所区别,因此我们在云信私有化中使用docker来实现各个模块的封装和运行时资源隔离;在容器的部署和管理上我们没有选择经常在大型容器云平台中出现的Kubernetes,而采用了更轻量级的运维部署工具ansible,主要有两个原因:
一是私有化企业用户量级绝大大多数在10w以下级别,这对于企业和企业延伸服务已经是非常大规模,因此在私有化过程中,企业能提供的资源往往有限,可能只有几台甚至一台服务器,而部署一套Kubernetes会为企业带来额外的资源开销;
二是服务集群实时动态调整在私有化交付后对于企业自身运维人员往往并不需要,企业需要的只是在约定规模下云信能够高效运行,Kubernetes所提供的资源调度和节点控制对于私有化显得过于复杂和沉重。因此我们选择通过Ansible协同的多机同步控制处理框架并结合python扩展开发可视化部署管理平台,实现云信私有化的统一快速部署和管理。
日志和监控平台主要需求
1.高性能:满足云信私有化方案中运行数据和日志收集;
2.高可用保障:日志平台具备一定高可用能力,单一节点或网络出现故障,业务系统有能力继续采集和监控;
3.平台实时监控和报警:可视化的系统和模块信息监控,当系统网络资源,服务状态出现异常时及时做出报警;
4.日志系统安全性:保障平台日志和运营数据安全;