作為目前山東有線高清機頂盒的重要擴展功能,DVB的HTML5中間件在雙向業(yè)務中占據了非常重要的地位。我公司的智慧系列業(yè)務中,有大量項目運行在H5中間件之上。
對于面向于全體雙向網用戶的中間件功能,屬于全省統(tǒng)一開發(fā)的平臺,且其上僅僅包含頁面顯示和用戶數據輸入功能。其數據的分析處理和負載均衡由后臺服務器進行,則用戶終端出現(xiàn)平臺錯誤的概率極小,況且一旦出現(xiàn)功能性故障,技術人員可以在后臺調整,對用戶來說是無感知的。
但濟寧的智慧系列業(yè)務,不同項目面向不同的特定用戶范圍,進而形成了不同的運維方法。以某個項目為例,每個月都會有大型會議活動,在此期間約有1000個會議室開會,網絡運維和平臺維護工作中涉及到4000個onu、機頂盒、攝像頭等設備,以及對應的供電網絡和光纖網絡。
大多數主持會議的老干部年齡偏大,當平臺出現(xiàn)故障時,由于用戶年齡、文化程度、身體素質的不同,沒辦法在電話或群聊中準確描述故障現(xiàn)象,給一線人員帶來了相當巨大的工作量。
經過細致的研究以及部分鄉(xiāng)鎮(zhèn)的試運行,我們設計了三種工具方法,經長時間的統(tǒng)計,將我公司相應平臺的一線人員維護量降低了五層。
圖1 http延時及在線率
我們利用smoke ping、ping pong 等開源代碼,針對不同的項目建立服務器的服務實時在線率監(jiān)測,如圖1所示。實時監(jiān)測相關核心服務器,可以在重要會議期間或者壓力測試期間,安排專門的同事同時監(jiān)控大量服務器的web、ssh、ajax、mysql等業(yè)務的響應情況,即使發(fā)現(xiàn)問題進行排除。
另外,由于7x24小時的監(jiān)控過于浪費人力,我們同時利用rratool工具繪制各服務器的流量、cpu、進程數、存儲空間等數據,方便隨時調用舊數據。
RRA每天、每周、每月都分別提供精確的數據,但幾天前、幾周前等同類數據的舊數據將會覆蓋,只保留平均值。為了保證數據的安全,防止數據量過大時系統(tǒng)自動覆蓋舊數據,我們編寫了數據備份腳本,由服務器自動定期執(zhí)行。
圖2 服務器端口流量
在濟寧智慧平臺的運維中,從機房到站點方向,我們著重關注站點設備的在線率。中心機房中,我們用兩種方法監(jiān)測。
一是選用相應的免費專業(yè)軟件7*24小時監(jiān)測,每小時刷新一遍。以此保證站點設備的在線情況,一旦遇到個別設備顯示深色,則安排相應的維修人員去現(xiàn)場排除故障。如果遇到某個區(qū)域大面積紅色,則鄉(xiāng)鎮(zhèn)匯聚設備或干纜異常的可能性較大,如圖3所示。
這種方式可以在大型會議等活動前提前排除線路和設備故障,避免了開始會議后才由各個鄉(xiāng)鎮(zhèn)大量上報故障,此時再去維修可能已經來不及了。
二是使用BAT腳本實時測試。@echo off (for/f %%i in (qian.txt)do for /f "tokens=3 delims=," %%j in ('ping%%i^|findstr /i "平均"')do echo %%i %%j) >> wei.txt
上述提到的統(tǒng)一監(jiān)控平臺可以訪問整個平臺的所有設備,一旦被攻擊將會危機整個平臺,因此為了保證平臺的安全,現(xiàn)場只能訪問有限的設備段。
維修人員處理好故障后,沒辦法登陸監(jiān)控平臺查詢各個設備和服務的恢復情況,只能挨個設備去ping。因此一個實用的小腳本,可以大量減少工作人員的工作量,加快確認設備恢復情況。
我們自主開發(fā)了中間件HTML5程序,將其嵌入已有平臺中。
平臺上的排障代碼執(zhí)行心跳檢測,每秒執(zhí)行一次setTimeout ( newlist,1000),每秒均分析一次此機頂盒到平臺對應服務接口之間的狀態(tài),例如我們測試某村用戶信息同步功能,就使用代碼var mydate
同時在電視機屏幕上將機頂盒目前的運行狀態(tài)及平臺故障,也就是上述代碼的各種報錯信息用簡易文字進行說明并實時顯示,則現(xiàn)場用戶在使用中遇到簡單故障,可以直接按照屏幕上的提示操作;遇到復雜故障,屏幕會提示故障關鍵信息,方便用戶電話中將故障情況報告給運維人員。
圖3 某縣站點設備在線情況