李佳华
摘要:随着敏捷运维产业链的逐步成熟,系统健康度的集中化、整体化、透明化需求越来越强烈。该文为企业级自动化运维架构中的系统健康度评估建设实战,通过智能算法,实现企业业务系统运行状态的可视化管理,通过各层级健康度指标,颗粒度细化到组件端口,从四个维度轻松掌握系统运行状况。
关键词:维度;层级;可用性;权重;关键性能指标
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)29-0111-02
科技时代,信息技术日新月异。随着大数据技术的快速渗透、云生态链的日益完善,人工智能遍地生花,敏捷运维体系架构正稳步成长。自动化运维管理提供完整的监控告警、大数据日志分析以及智能运维修复,却缺乏一个系统的全局视角,以健康度数据指标动态感知系统的能力。
1 健康度算法模型
以技术的视角选择一个科学的架构来评估系统的健康程度,是我们构建业务系统健康度的目标。原生的CMDB数据模型就是它架构的强力支撑。
1)CMDB
即Configuration Management Database (配置管理数据库),它存储与管理企业IT架构中设备的各种配置信息。
2)节点与服务端口
企业“互联网+”转型后,基础设施云资源化。云计算离不开底层虚拟化技术的支持。这里的节点指一个虚拟化操作系统(OS)或者类似操作系统的父、子分区(虚机),它能实现虚拟机内部存储资源、计算资源以及网络资源的调度与管理,能作为一台独立的虚拟主机对外提供服务。比如一个vmware的VirtualCenter管理下的多个虚机(LINUX操作系统)。
服务端口是业务系统运行情况采集的最小单位。例如ORACLE数据库缺省运行在1521端口上(运行端口号可以更改)。数据库的各种性能指标,比如锁、进程、用户,最终健康与否,都体现在服务端口能否提供服务上。
3)关键性能指标
当CMDB将网络、中间件、数据库、服务器等作为配置项进行统一管理后,根据实际需要,建立起各配置项之间的关系模型,然后抽象出配置项的关键性能指标,并建立之间的关系。
比如一个节点的关键性能指标一般取CPU、内存、磁盘IO、网卡流量、文件系统、进程等。
4)层级和权重
层级就是不同的层次,是为了满足不同角色从不同的角度看健康度指标的需求而定义。在其位,负其责,所处层级不同,权重也有高低,是目标对象在IT系统架构中的作用大小、地位高低決定的。
权重则是指重要性程度。简单来说,它是一个比较在本层级内作用大小、地位高低程度的数值。各关键性能指标的重要等级不同,它的权重也会不同。
对于一个节点来说,它可以处在OS层,OS下的liunx层,它可以属于数据库层,PAAS层,还可以是自动化运维这个业务系统层,这个系统下的监控模块层等等,但因为它在各层级的重要性不同它在各层级的权重会有所不同。比如节点1在OS层它和其他节点权重一致,但因为它承载数据库,因此在业务系统层级它的权重会比其他节点高。
5)算法模型
确定节点关键性能指标和权重:如果一个节点设定关键性能指标(CPU,内存,磁盘IO,网络流量)和权重(例如CPU使用率的权重为25,内存为25,磁盘IO为25,网络流量为25)
设置性能指标扣分规则,可和自动化运维监控告警规则同步设置。例如重要告警20分,严重警告扣50分,性能指标=(指标1扣分*指标1权重+指标N扣分*指标N权重)/权重总和
例如,一个节点的cpu使用率发生了严重警告,这个节点的性能指标扣分为:
性能指标扣分=(50*25+0+0+0)/(25+25+25+25)=12.5分
节点健康度指标=100-12.5=87.5分
设置可用性指标扣分规则,不可用整个设备直接扣100分
比如节点不可用,操作系统挂死,网络不通
节点健康度=100-100=0分
集群可调整设置。假设双机高可用集群,一台宕机,扣50分
高可用集群的健康度=100-50=50分
健康度的算法:最低0分,扣完为止
系统健康度指标=100-可用性指标扣分-性能指标扣分
2 健康度可用性算法
为了保障服务提供的高可用性,企业级业务系统服务框架一般为集群部署。假设一个提供服务的集群共10个节点,当服务访问达到峰值时,日常运行中每个节点的负载达到80%运行能稳定高效。当某个节点因各种原因出现故障,无法提供服务时,它的压力、服务职能会落到剩下的9个节点上,此时每个节点的负载水平就超过88%,个别节点可能更高(因为无法确保分摊的服务负载完全平均),在节点处于高水位运行时,它出现问题的概率将大大提高,实际权重也就更大。我们提供了这种模式下层级的可用性算法:
层级可用性=(1-不可用节点权重总和/权重总和)=1-[总权重/n+总权重/(n-1)+总权重/(n-2)+总权重+…]/总权重
通过节点可用性指标来判断层级整体的承载能力和服务能力,使系统健康度指标更加科学。
3 健康度层级
层级健康度算法在原层次健康度的基础之上乘以可用设备的权重比例,即可在不可用设备比较多时健康度下降较快
层级的健康度算法
PAAS层健康度=(节点1健康度*节点1权重+节点N健康度*节点N权重)/(节点权重总和)
健康度 = (1-不可用节点权重总和/权重总和) *PAAS层健康度
分层计算(PAAS层,IAAS层,SAAS层)后,业务系统总体健康度
通过层级(PAAS层,IAAS层,SAAS层)的权重等级和健康度计算出系统总体健康度。
设置层级权重,例如IAAS权重100,PAAS权重80,SAAS权重60
系统健康度=(IAAS健康度*IAAS层权重+PAAS健康度*PAAS层权重+SAAS健康度*SAAS层权重)/(节点权重总和)
4 系统健康度展示维度
健康度分为四个个维度进行展示:
PaaS(Platform as a Service),平台即服务:首页按Tomcat、Webligic、Nginx、MQ、Zookeeper、Mysql、OS、redis等等层级展示健康度分值,点击分值,能得到按系统明细层级展示的扣分明细。分不出系统的,比如Nginx,则以集群展示,具体层级以cmdb配置模型为准。
IaaS层(Infrastructure as a Service)基础设施即服务:首页按主机、存储、安全设备、防火墙、交换机层次展示健康度分值,点击分值,直接展示具体物理设备扣分明细
SAAS层(SoftwareasaService)软件即服务:首页按业务系统应用层级展示健康度分值,点击分值,直接展示该系统下业务模块的扣分明細。比如客户关系管理系统竣工模块未执行工单数大于1000扣分20分。
业务系统健康度:首页按电信企业业务域层级(MBOSS)展示,点击分值,按系统名称展示各业务系统根据各层级计算出的业务系统总健康度。
5 结束语
无疑,系统健康度指标是企业业务发展后,系统需要提供服务能力的与时俱进的产物。它覆盖系统全部关键要素,可供运维人员波动分析系统性能关键指标、了解故障来源,大大提高了运维人员工作效率。同时可供企业管理人员实时、动态、快速掌握系统运行情况,很好地满足了一键看数需求,为精准调度资源提供有效依据。
本文所叙已在中国电信湖南分公司自动化运维管理平台验证,具有巨大的市场前景,产生了可观的经济价值。
参考文献:
[1] 梁奂陈春华,李军. IT健康度模型设计与实践[J].移动通信, 2014(24).
[2] 刘博元,王焕钢,范文慧,等.基于大数据的复杂生产线系统健康度度实时评估方法[J].清华大学学报:自然科学版,2014,54(10).
[3] 郑声俊,王国仕,董卫,魏冯世,等.基于运行监控技术的信息协同健康度评价体系[J].自动化应用, 2015(9):105-106.
[4] 梁浩波. IT一体化运维管控技术与管理研究[J].计算机安全, 2014(4).
[5] 马锐,张文涛,孙四明.指标评价体系中关于指标权重确定方法的研究[J].计算机科学, 2009,36(8).
【通联编辑:唐一东】