如何打造一款高逼格的運維平臺(詳解三)
業(yè)務(wù)流技術(shù)
上圖是我們具體的一個業(yè)務(wù)流程,左邊是我們這個云運維平臺的界面,一個運維請求會被封裝為一個消息會放到消息隊列里面,schedule模塊接收到消息后按照調(diào)度算法,自動分配給ansible節(jié)點,ansible節(jié)點通過ssh到服務(wù)器上執(zhí)行,并將執(zhí)行結(jié)果異步返回給消息隊列。
schedule的調(diào)度算法與Ansible分布式架構(gòu)
schedule的調(diào)度算法,是我們考慮到我們生產(chǎn)環(huán)境有很多的分區(qū),我們會根據(jù)他的IP自動生成一個所屬區(qū)域的tag,schedule在發(fā)現(xiàn)這些消息以后,他會針對你tag以及目標(biāo)機器數(shù)據(jù)進行拆分,我們把這個詳細拆分幾個消息,ansible去訂閱處理自己的消息。
我們在ansible上進行一個改造,所有任務(wù)均有唯一的id,處理完成后返回消息,從而實現(xiàn)多任務(wù)的并發(fā)異步執(zhí)行。
數(shù)據(jù)可視化
我們在數(shù)據(jù)可視化方面,我們通過采集器采集信息,通過同步器同步其它平臺信息,存儲在核心數(shù)據(jù)庫,通過閾值庫產(chǎn)生進行對比告警,通過分析函數(shù)庫進行性能分析,并產(chǎn)生一些我們運維需要的報表進行可視化管理。
銀行卡組織云運維平臺成果展示
我們平臺的建設(shè)結(jié)果,我們這個平臺上面已經(jīng)完全建設(shè)的一些部分,另外有一些功能我們在開發(fā),這個是我們在實際中已經(jīng)上線的平臺,大概有幾千太的虛擬服務(wù)器,我們首先看到這個信息中心里面有一個機房,我們看到一些機柜,并且配置好每一個機柜里面對應(yīng)的哪些服務(wù)器。
這個交換機/F5-物理服務(wù)器-虛擬服務(wù)器自動拓撲的頁面,是我們根據(jù)snmp抓取交換機、F5信息,通過anbible抓取物理機的信息,通過openstack抓取虛擬機的信息,根據(jù)上述消息自動生成拓撲。