揭凌雁 王榮 胡凱 中國電信股份有限公司江西分公司 南昌市 330046
關(guān)鍵字:企業(yè)上云 定界定段定位 樹莓派 探針 客戶感知
云網(wǎng)融合是運(yùn)營商正在積極推進(jìn)的發(fā)展戰(zhàn)略,隨著企業(yè)IT上云進(jìn)程加快,云網(wǎng)業(yè)務(wù)亦進(jìn)入快速發(fā)展時(shí)期,但先于客戶發(fā)現(xiàn)故障、快速故障定界定段定位、及時(shí)感知客戶異常等問題也隨之凸顯。某醫(yī)院為首批上云的大客戶,客戶使用了云專線、云安全、云主機(jī)及負(fù)載均衡等云網(wǎng)業(yè)務(wù),將醫(yī)療影像、醫(yī)信息系統(tǒng)、實(shí)驗(yàn)室信息系統(tǒng)、電子票據(jù)、移動支付、內(nèi)部OA等信息化生產(chǎn)系統(tǒng)全部遷移到專屬云上。隨著應(yīng)用越來越多,客戶對云網(wǎng)業(yè)務(wù)平均修復(fù)時(shí)間MTTR、平均無故障工作時(shí)間MTBF提出了更高的要求,如業(yè)務(wù)單次中斷小于15分鐘,一年中故障發(fā)生不超過3次。
運(yùn)營商面對客戶服務(wù)要求亟待解決兩方面的問題,一方面監(jiān)控手段“觸角”需要深入客戶內(nèi)網(wǎng),對客戶側(cè)網(wǎng)絡(luò)、電信運(yùn)營商承載網(wǎng)絡(luò)、云服務(wù)提供商云側(cè)應(yīng)用進(jìn)行監(jiān)測,做到分鐘級發(fā)現(xiàn)客戶故障;另一方面故障定界定段定位必須高效及時(shí),在故障排查過程中各個(gè)專業(yè)需聯(lián)動作戰(zhàn)才能滿足平均修復(fù)時(shí)間MTTR的要求。
針對于此,中國電信江西公司采用樹莓派硬件探針方式進(jìn)行自主研發(fā),樹莓派(Raspberry Pi)是一款基于 ARM CPU架構(gòu)的微型電腦主板 ,是各種“派”中最早開始流行起來的一個(gè)嵌入式Linux板卡,其本質(zhì)是尺寸僅有信用卡大小的一個(gè)微型電腦,以SD/MicroSD卡作為硬盤存儲,主板支持 2 * USB 3.0 + 2 * USB 2.0接口以及 100 /1000 Mbps 網(wǎng)卡接口,可將樹莓派連接電視、顯示器、鍵盤鼠標(biāo)等設(shè)備當(dāng)一臺正常Linux電腦使用,具有以下特點(diǎn)適合作為客戶內(nèi)網(wǎng)硬件探針:
(1)樹莓派支持Linux系統(tǒng),擁有海量的開源軟件倉庫基礎(chǔ)。
(2)樹莓派擁有GPIO硬件模塊,同時(shí)支持Python語言的GPIO庫,使得它能和開源硬件進(jìn)行完美的結(jié)合。
(3)樹莓派接口豐富,同時(shí)支持WiFi無線網(wǎng)卡以及擴(kuò)充4G LTE上網(wǎng)模塊,開發(fā)者可以利用遠(yuǎn)程網(wǎng)絡(luò)對樹莓派進(jìn)行控制。
(4)樹莓派支持多種語言進(jìn)行應(yīng)用開發(fā),包括C語言和Python腳本等。樹莓派預(yù)裝了Python運(yùn)行環(huán)境,由于Python語言的簡單易用,使得Python開發(fā)在樹莓派上非常流行。Python是一門解釋型語言,這意味著代碼運(yùn)行前不需要編譯,即程序直接執(zhí)行而不需要編譯為機(jī)器語言,Python用在樹莓派上進(jìn)行編程開發(fā)就非常方便。Python語言發(fā)展多年,有著成熟而廣泛的開發(fā)者社區(qū),使得樹莓派上的Python開發(fā)者具備了強(qiáng)大的社區(qū)支持。
中國電信江西公司采用樹莓派硬件探針方式,從客戶內(nèi)網(wǎng)及電信運(yùn)營商承載網(wǎng)絡(luò)定界定段、感知模擬撥測、端口一鍵檢測等三個(gè)方面入手,并結(jié)合數(shù)據(jù)中臺解決方案,提升云網(wǎng)通端到端運(yùn)營支撐能力。
按照網(wǎng)絡(luò)逐段嗅探原理進(jìn)行設(shè)計(jì),將PING及TRACERT工具內(nèi)嵌至探針內(nèi),由探針程序完成至客戶局域網(wǎng)出口交換機(jī)、至云側(cè)的網(wǎng)絡(luò)PING、TRACERT網(wǎng)絡(luò)嗅探功能,通過逐段網(wǎng)絡(luò)PING及TRACERT數(shù)據(jù)基本可以判斷是客戶內(nèi)網(wǎng)、運(yùn)營商承載網(wǎng)絡(luò)、云側(cè)網(wǎng)絡(luò)出現(xiàn)中斷。
表1 云探針采集網(wǎng)絡(luò)時(shí)延及網(wǎng)絡(luò)跳數(shù)示例
實(shí)際維護(hù)工作中也常常遇到客戶網(wǎng)絡(luò)通暢,但業(yè)務(wù)服務(wù)器訪問緩慢、WEB門戶網(wǎng)站打開時(shí)延大等問題,針對于此,在專屬云側(cè)搭建了WEB服務(wù)器(靶標(biāo)平臺),通過靶標(biāo)平臺和云探針形成CLIENT/SERVER的數(shù)據(jù)互通模式,從云探針側(cè)完成客戶內(nèi)網(wǎng)至云側(cè)WEB感知類的數(shù)據(jù)(首屏?xí)r間)纂取,從而實(shí)現(xiàn)感知端到端的監(jiān)測目的。
WEB網(wǎng)站首屏?xí)r延是指客戶訪問WEB網(wǎng)站時(shí),第一次完成用戶終端側(cè)首頁渲染所消耗的時(shí)間,采集指標(biāo)集包括總下載時(shí)間、白屏?xí)r間、首屏?xí)r間、可用性、DNS時(shí)間、建立連接時(shí)間、SSL握手時(shí)間、首包時(shí)間、內(nèi)容下載時(shí)間、客戶端時(shí)間、重定向時(shí)間、發(fā)出請求時(shí)間、網(wǎng)絡(luò)層時(shí)間、DNS解析次數(shù)、建立連接次數(shù)、交互時(shí)間、開始加載內(nèi)容時(shí)間、結(jié)束加載內(nèi)容時(shí)間、元素錯(cuò)誤量、頁面對象數(shù)、首屏對象數(shù)等,云探針開發(fā)基于三個(gè)方面:
(1)利用HTML5 Performance特性纂取:Performance是HTML5的新特性之一,通過它,可以非常精確的統(tǒng)計(jì)到網(wǎng)站頁面的表現(xiàn)情況,從而有針對性的進(jìn)行感知數(shù)據(jù)的纂取。
(2)利用Chromium Webdriver組件纂?。耗MChromium 瀏覽器訪問網(wǎng)站網(wǎng)頁,通過Chromium Webdriver組件,實(shí)現(xiàn)感知指標(biāo)的纂取。
(3)基于Python3開發(fā)探針腳本:使用樹莓派自帶的Thonny Python IDE,基于Python 3.7.x 開發(fā)腳本,調(diào)用pycurl庫,根據(jù)網(wǎng)站特征,實(shí)現(xiàn)https認(rèn)證、http、post、http put、ftp上傳、代理、Cookies、基本身份驗(yàn)證、ftp文件斷點(diǎn)繼傳、http代理通道等功能腳本,達(dá)到感知數(shù)據(jù)的纂取
圖1 基于樹莓派開發(fā)的云探針應(yīng)用部署——網(wǎng)絡(luò)拓?fù)浼軜?gòu)圖
表2 云探針采集WEB網(wǎng)站性能指標(biāo)數(shù)據(jù)(單位:ms)
醫(yī)院云側(cè)服務(wù)器眾多,涉及掛號、影像、病例等多個(gè)應(yīng)用系統(tǒng),任何一臺服務(wù)器應(yīng)用異常均會影響醫(yī)院的正常運(yùn)行。針對客戶服務(wù)器群組的特點(diǎn),在明確云側(cè)主機(jī)組上所運(yùn)行的主要服務(wù)/端口信息之后,探針作為云側(cè)服務(wù)器對應(yīng)端口訪問是否Open/Enable的監(jiān)測工具,一方面支持實(shí)時(shí)監(jiān)測客戶服務(wù)器運(yùn)行情況,另一方面如果客戶出現(xiàn)任何訪問類問題,可配合判障使用,云探針開發(fā)基于三個(gè)方面:
(1)關(guān)系矩陣圖:基于用戶組網(wǎng)的業(yè)務(wù)構(gòu)成,初步建立業(yè)務(wù)和端口的關(guān)聯(lián)關(guān)系,形成端口組,再由端口組關(guān)聯(lián)到服務(wù)器,形成主要業(yè)務(wù)對應(yīng)端口的關(guān)系矩陣圖。
(2)探針云側(cè)Iperf客戶端部署:Iperf是一個(gè)網(wǎng)絡(luò)性能測試工具。Iperf可以測試最大TCP和UDP帶寬性能,具有多種參數(shù)和UDP特性,可以根據(jù)需要調(diào)整,可以報(bào)告帶寬、延遲抖動和數(shù)據(jù)包丟失。利用Iperf這一功能,可以用來測試一些網(wǎng)絡(luò)設(shè)備如路由器,防火墻,交換機(jī)等的性能。
表3 Iperf性能測試數(shù)據(jù)
(3)客戶端口一鍵檢測:支持一鍵觸發(fā)模式,以業(yè)務(wù)類型、端口號作為輸入?yún)?shù),通過腳本程序,對服務(wù)器群組進(jìn)行輪詢探測,探針將一鍵檢測功能封裝成一個(gè)后臺服務(wù),可以針對服務(wù)進(jìn)行靈活定制。以下為Iperf應(yīng)用程序所支持的命令行參數(shù),以及在樹莓派終端上執(zhí)行遠(yuǎn)程測速腳本運(yùn)行示例。
表4 Iperf應(yīng)用程序所支持的命令行參數(shù)示例
表5 批量測試某醫(yī)院云側(cè)服務(wù)器群組上對應(yīng)服務(wù)端口狀態(tài)
除了云探針纂取的數(shù)據(jù)之外,數(shù)據(jù)中臺完成電信運(yùn)營商STN鏈路、設(shè)備的告警、鏈路流量等常態(tài)數(shù)據(jù)纂取,作為告警的輸入數(shù)據(jù)集合地,主要檢測對象為客戶IT上云承載網(wǎng)絡(luò)的各類網(wǎng)元健康度、STN鏈路是否中斷/流量是否有突發(fā)、客戶鏈路帶寬是否異常波動,數(shù)據(jù)中臺需和STN網(wǎng)管實(shí)時(shí)信息交互,最終呈現(xiàn)為云網(wǎng)業(yè)務(wù)的端到端資源視圖。
圖2 告警接口邏輯示意圖
目前樹莓派探針已在醫(yī)療云的部分客戶成功上線,后續(xù)還將在教育云進(jìn)行推廣使用,相對于市場上專線探針3000-5000的成本造價(jià),樹莓派探針不僅極大降低了成本,而且更貼近一線維護(hù)人員,解決維護(hù)工作“痛點(diǎn)”需求,后續(xù)還將在大文件上傳下載、網(wǎng)頁版游戲的應(yīng)用感知模擬進(jìn)行迭代開發(fā),豐富樹莓派探針應(yīng)用場景,以提升云網(wǎng)業(yè)務(wù)端到端的服務(wù)質(zhì)量,提高客戶滿意度。
基于樹莓派的體系架構(gòu)可方便、靈活地開發(fā)測試應(yīng)用場景,結(jié)合小巧、便攜特性,可面向重要云網(wǎng)客戶進(jìn)行部署,實(shí)現(xiàn)先于客戶發(fā)現(xiàn)故障、快速故障定界定段定位、及時(shí)感知客戶異常的能力,對相關(guān)運(yùn)營商而言,具有可實(shí)施性和一定的參考實(shí)用價(jià)值。