需求
1、目标
成功的前提,本系统要求实现云系统的监控,能够自动化的监控云计算的运行状态,管理云系统运行过程中的产生的告警问题,并能支持中等规模的云运维,大约1500台机器。
2、用户
面向客户的私有云系统,客户技术水平不高,要求言简意赅,面向公司技术支持人员,要求信息全面详细。
设计
1、系统结构
整个运维分三层结构,底层设备代理层、中间数据采集层、上层数据管理层。
2、系统交互
各层之间采用协议交互,采集到代理层使用SNMP协议,管理层到采集层使用HTTP协议。协议交互减少各层耦合,可完全实现分布式部署,项目管理简单,各层各司其职。
3、用户交互
界面简单、主菜单少,减少客户使用学习成本,重要信息重点展示。
高级功能支持各种自定义,同时提供默认配置,满足专业人员使用。
实现
基于分层的系统设计,各层采用不同的开发语言和团队,上层做集成和联调。
前台UI与后端分离实现,通过HTTP服务接口,采用JSON格式进行数据交互,降低耦合。
集成
集成其实是整个系统最难的部分,大家都在自己地盘上造车,控制起来简单很多,而这种多协议,多系统,不同团队之间的集成引发的各种问题层出不穷,前期主要在接口性能和错误处理上,后期主要在业务关联上。
功能
1、监控
监控是集成显示整个云计算服务的状态,包括云计算的整个情况和各个单机情况,采用定时采集加上手动触发采集的方式,解决实时查看的信息。
2、告警
告警是整个运维中监控云计算各种问题的管理单元,为了简化客户使用,告警采用自动处理自动恢复的方式,提供系统中告警信息的实时通知功能,如短信、语音、邮件等,对于告警信息说明处理步骤及严重程度,提示用户是否需要联系公司技术支持等。
3、统计分析
做简单故障统计,让用户了解系统运行情况,当前主要问题及严重程度。