作為目前山東有線高清機頂盒的重要擴展功能,DVB的HTML5中間件在雙向業務中占據了非常重要的地位。我公司的智慧系列業務中,有大量項目運行在H5中間件之上。
對于面向于全體雙向網用戶的中間件功能,屬于全省統一開發的平臺,且其上僅僅包含頁面顯示和用戶數據輸入功能。其數據的分析處理和負載均衡由后臺服務器進行,則用戶終端出現平臺錯誤的概率極小,況且一旦出現功能性故障,技術人員可以在后臺調整,對用戶來說是無感知的。
但濟寧的智慧系列業務,不同項目面向不同的特定用戶范圍,進而形成了不同的運維方法。以某個項目為例,每個月都會有大型會議活動,在此期間約有1000個會議室開會,網絡運維和平臺維護工作中涉及到4000個onu、機頂盒、攝像頭等設備,以及對應的供電網絡和光纖網絡。
大多數主持會議的老干部年齡偏大,當平臺出現故障時,由于用戶年齡、文化程度、身體素質的不同,沒辦法在電話或群聊中準確描述故障現象,給一線人員帶來了相當巨大的工作量。
經過細致的研究以及部分鄉鎮的試運行,我們設計了三種工具方法,經長時間的統計,將我公司相應平臺的一線人員維護量降低了五層。

圖1 http延時及在線率
我們利用smoke ping、ping pong 等開源代碼,針對不同的項目建立服務器的服務實時在線率監測,如圖1所示。實時監測相關核心服務器,可以在重要會議期間或者壓力測試期間,安排專門的同事同時監控大量服務器的web、ssh、ajax、mysql等業務的響應情況,即使發現問題進行排除。
另外,由于7x24小時的監控過于浪費人力,我們同時利用rratool工具繪制各服務器的流量、cpu、進程數、存儲空間等數據,方便隨時調用舊數據。
RRA每天、每周、每月都分別提供精確的數據,但幾天前、幾周前等同類數據的舊數據將會覆蓋,只保留平均值。為了保證數據的安全,防止數據量過大時系統自動覆蓋舊數據,我們編寫了數據備份腳本,由服務器自動定期執行。



圖2 服務器端口流量
在濟寧智慧平臺的運維中,從機房到站點方向,我們著重關注站點設備的在線率。中心機房中,我們用兩種方法監測。
一是選用相應的免費專業軟件7*24小時監測,每小時刷新一遍。以此保證站點設備的在線情況,一旦遇到個別設備顯示深色,則安排相應的維修人員去現場排除故障。如果遇到某個區域大面積紅色,則鄉鎮匯聚設備或干纜異常的可能性較大,如圖3所示。
這種方式可以在大型會議等活動前提前排除線路和設備故障,避免了開始會議后才由各個鄉鎮大量上報故障,此時再去維修可能已經來不及了。
二是使用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
上述提到的統一監控平臺可以訪問整個平臺的所有設備,一旦被攻擊將會危機整個平臺,因此為了保證平臺的安全,現場只能訪問有限的設備段。
維修人員處理好故障后,沒辦法登陸監控平臺查詢各個設備和服務的恢復情況,只能挨個設備去ping。因此一個實用的小腳本,可以大量減少工作人員的工作量,加快確認設備恢復情況。
我們自主開發了中間件HTML5程序,將其嵌入已有平臺中。
平臺上的排障代碼執行心跳檢測,每秒執行一次setTimeout ( newlist,1000),每秒均分析一次此機頂盒到平臺對應服務接口之間的狀態,例如我們測試某村用戶信息同步功能,就使用代碼var mydate


同時在電視機屏幕上將機頂盒目前的運行狀態及平臺故障,也就是上述代碼的各種報錯信息用簡易文字進行說明并實時顯示,則現場用戶在使用中遇到簡單故障,可以直接按照屏幕上的提示操作;遇到復雜故障,屏幕會提示故障關鍵信息,方便用戶電話中將故障情況報告給運維人員。

圖3 某縣站點設備在線情況