如何打造一款高逼格的运维平台(详解三)
业务流技术
上图是我们具体的一个业务流程,左边是我们这个云运维平台的界面,一个运维请求会被封装为一个消息会放到消息队列里面,schedule模块接收到消息后按照调度算法,自动分配给ansible节点,ansible节点通过ssh到服务器上执行,并将执行结果异步返回给消息队列。
schedule的调度算法与Ansible分布式架构
schedule的调度算法,是我们考虑到我们生产环境有很多的分区,我们会根据他的IP自动生成一个所属区域的tag,schedule在发现这些消息以后,他会针对你tag以及目标机器数据进行拆分,我们把这个详细拆分几个消息,ansible去订阅处理自己的消息。
我们在ansible上进行一个改造,所有任务均有唯一的id,处理完成后返回消息,从而实现多任务的并发异步执行。
数据可视化
我们在数据可视化方面,我们通过采集器采集信息,通过同步器同步其它平台信息,存储在核心数据库,通过阈值库产生进行对比告警,通过分析函数库进行性能分析,并产生一些我们运维需要的报表进行可视化管理。
银行卡组织云运维平台成果展示
我们平台的建设结果,我们这个平台上面已经完全建设的一些部分,另外有一些功能我们在开发,这个是我们在实际中已经上线的平台,大概有几千太的虚拟服务器,我们首先看到这个信息中心里面有一个机房,我们看到一些机柜,并且配置好每一个机柜里面对应的哪些服务器。
这个交换机/F5-物理服务器-虚拟服务器自动拓扑的页面,是我们根据snmp抓取交换机、F5信息,通过anbible抓取物理机的信息,通过openstack抓取虚拟机的信息,根据上述消息自动生成拓扑。