[摘要]介紹中央電視臺高端島3后期制作網(wǎng)絡(luò)監(jiān)控系統(tǒng)的架構(gòu),以及其對制作設(shè)備、制作服務(wù)、存儲設(shè)備、制作流程等環(huán)節(jié)監(jiān)控的實現(xiàn)。
[關(guān)鍵詞]監(jiān)控系統(tǒng);高端制作島;電視制作;制作設(shè)備;存儲設(shè)備;流程
文章編號:10.3969/j.issn.1674—8239.2016.04.012
中央電視臺新址綜合制作域包含了混合制作島、高端制作島、常規(guī)制作島、新介質(zhì)島、新線性編輯制作島等多個后期制作子系統(tǒng),其中高端制作島3(以下簡稱高端島3)主要用于復(fù)雜專題節(jié)目以及大型演播室直播節(jié)目的后期制作,其建設(shè)目標是打造全高清、全文件的強大制作平臺。
高端島3主要面向精細編輯制作,擁有每天不少于20小時的高清成品節(jié)目生產(chǎn)能力,并實現(xiàn)了設(shè)備國產(chǎn)化的目標。制作設(shè)備主要包括36套精編工作站、16套草編工作站、4套合成工作站、2套配音工作站,此外還包括多臺實體機和虛擬機后臺服務(wù)器,生產(chǎn)規(guī)模較大。因此,在發(fā)生一些突發(fā)或不可避免的系統(tǒng)故障時,值班人員可能會面臨較大的排查壓力。同時,島內(nèi)制作任務(wù)采用了全自動化流程控制,隨之而來的則是大量的流程管控問題。為保證島內(nèi)業(yè)務(wù)正常運行、生產(chǎn)任務(wù)順利完成,高端島3配備了制作監(jiān)控系統(tǒng),用以向業(yè)務(wù)管理人員統(tǒng)一展現(xiàn)設(shè)備流程業(yè)務(wù)狀態(tài),并對異常情況及時告警。
高端島3監(jiān)控系統(tǒng)于2014年底開始設(shè)計實施,2015年交付使用,在項目的調(diào)研設(shè)計和實施的過程中,設(shè)計者本著全可視化、安全智能、及時準確的設(shè)計原則,充分考慮島內(nèi)業(yè)務(wù)流程特點、制作規(guī)模、使用人員操作習(xí)慣,并結(jié)合數(shù)據(jù)來源多樣的優(yōu)勢,有機整合和采集指標,最終有效實現(xiàn)了監(jiān)控數(shù)據(jù)可讀易讀、告警有效及時、故障點反映準確等功能特性。
本文討論高端島3監(jiān)控系統(tǒng)主要監(jiān)測對象的監(jiān)控實現(xiàn)方式和經(jīng)驗,包括機房制作設(shè)備及業(yè)務(wù)的監(jiān)控實現(xiàn)、存儲系統(tǒng)的監(jiān)控實現(xiàn),以及制作流程的監(jiān)控實現(xiàn)。
1.監(jiān)控系統(tǒng)架構(gòu)
在邏輯架構(gòu)上,高端島3監(jiān)控系統(tǒng)主要由數(shù)據(jù)采集、策略管理和報警顯示三部分組成。
如圖1所示,高端島3監(jiān)控系統(tǒng)采用B/s架構(gòu)建立匯聚分析和報警顯示模塊,采用c/s架構(gòu)建立數(shù)據(jù)采集模塊。采集機制及實現(xiàn)方式為:通過定時輪詢加主動上報機制獲取監(jiān)測對象的性能、配置和故障數(shù)據(jù)信息;能夠?qū)藴蔛NMP中MIB管理數(shù)據(jù)進行采集,并可接收、解析和翻譯SNMP trap;同時支持多種擴展采集手段,如數(shù)據(jù)視圖讀取、WMI、ModBus、Web Service等。匯聚分析顯示模塊對采集上報的監(jiān)控數(shù)據(jù)進行策略決策和數(shù)據(jù)展現(xiàn),將Canvas畫面實時顯示等。HTML5技術(shù)用于B/S化網(wǎng)頁報警頁面,使數(shù)據(jù)表達更加準確和具象。數(shù)據(jù)采集模塊與匯聚分析模塊采用了不同的開發(fā)架構(gòu),為保證彼此消息交互的準確性和時效性,經(jīng)反復(fù)實驗,兩個模塊之間的消息通訊方式采用了Apache Thrift的Socket通訊機制,在采用傳輸JSON消息字符串的同時,使用Thrift內(nèi)置的對象序列化機制,優(yōu)化了通信效率。
高端島3監(jiān)控系統(tǒng)采用兩種開發(fā)架構(gòu)的有機結(jié)合,充分運用了不同架構(gòu)的優(yōu)勢,使各個模塊保持了相對獨立,使系統(tǒng)穩(wěn)定易維護。
2.制作設(shè)備及服務(wù)監(jiān)控的實現(xiàn)
2.1制作設(shè)備監(jiān)控
作為高端島3的監(jiān)控系統(tǒng),最基本的一項功能就是實現(xiàn)對這些設(shè)備的基本關(guān)鍵指標參數(shù)(Key PerformanceIndicator,以下簡稱KPI)的監(jiān)控,如CPU使用率、CPU溫度、內(nèi)存使用率、主要進程、網(wǎng)口使用率等,并按照閾值實現(xiàn)多級報警。
在本監(jiān)控系統(tǒng)中,以上各項監(jiān)控項可通過采集端進行采集與匯聚。該采集模塊可通過各種監(jiān)控協(xié)議(如SNMP協(xié)議)與監(jiān)控對象通訊、采集監(jiān)控信息,經(jīng)過歸一化后寫入數(shù)據(jù)庫或提交匯聚展現(xiàn)端。當(dāng)采集到的前述監(jiān)控對象指標出現(xiàn)異常時,B/S展現(xiàn)端通過投放大屏的客戶端頁面向值班人員報警。高端島3內(nèi)制作設(shè)備KPI數(shù)量眾多,為保證數(shù)據(jù)采集不會造成網(wǎng)絡(luò)通訊壓力,本系統(tǒng)對制作設(shè)備KPI按重要性進行分級,對不同級別KPI按照5秒、10秒、15秒等多個輪詢周期進行數(shù)據(jù)采集,從而實現(xiàn)在減輕網(wǎng)絡(luò)通訊壓力的前提下降低漏報發(fā)生的可能性。
監(jiān)控系統(tǒng)根據(jù)高端島3現(xiàn)場實際情況繪制了機房平面圖,如圖2所示,島內(nèi)設(shè)備KPI觸發(fā)報警閾值時,平面圖中相應(yīng)設(shè)備以相應(yīng)告警級別顏色做出顯著提示,提醒值班人員查看具體問題。KPI類型、二級告警觸發(fā)閾值和告警策略均可人工設(shè)置,并根據(jù)島內(nèi)用戶使用習(xí)慣,生成不同形式的圖表、報告,可呈現(xiàn)如KPI趨勢曲線圖、錯誤日志分布餅圖、磁盤使用餅圖等方式的圖形化展現(xiàn)效果。
另外,高端島3使用的非線性編輯工作站等設(shè)備有部分重要配件無法通過SNMP或WMI協(xié)議獲取狀態(tài),例如非編板卡等。但這些配件的狀態(tài)能夠直接反應(yīng)非編工作站的I/O狀態(tài),這是業(yè)務(wù)管理人員尤為關(guān)心的。對此,監(jiān)控系統(tǒng)的實現(xiàn)方式為:在非編工作站安裝自啟動后臺代理端,由代理端調(diào)用非編板卡sDK獲取板卡溫度、鎖相狀態(tài)、電壓狀態(tài)等KPI,通過thrift消息發(fā)送給監(jiān)控采集端,經(jīng)由集中監(jiān)控端分析后展現(xiàn)在前臺頁面。
同時,對于協(xié)議監(jiān)控和代理監(jiān)測存在交叉監(jiān)測的部分,例如非編工作站在線狀態(tài)及設(shè)備整體告警狀態(tài)等,為保證監(jiān)測的準確性,監(jiān)控系統(tǒng)按照表1所列狀態(tài)真值表計算后,展示最終監(jiān)測結(jié)果。
2.2制作服務(wù)監(jiān)控
對于高端島3中的非編制作系統(tǒng),除了設(shè)備硬件狀態(tài)外,業(yè)務(wù)管理人員同時還較關(guān)心與業(yè)務(wù)相關(guān)的制作服務(wù)是否正常。這些狀態(tài)包括:每臺非編工作站的登錄人員、登錄時間、是否出現(xiàn)丟幀、工作站連接數(shù)據(jù)庫是否正常等。
這類監(jiān)測指標由于其特殊性,監(jiān)控系統(tǒng)無法直接通過監(jiān)測協(xié)議或代理程序從非編工作站獲取,而是通過調(diào)用非編系統(tǒng)服務(wù)查詢Web Service接口獲得所有業(yè)務(wù)狀態(tài)后統(tǒng)一分析,按照IP地址等一致性條件將業(yè)務(wù)狀態(tài)與通過其他渠道采集的設(shè)備狀態(tài)整合后,統(tǒng)一展現(xiàn)在非編系統(tǒng)監(jiān)控界面,見圖3、圖4。
3.存儲設(shè)備監(jiān)控的實現(xiàn)
3.1存儲設(shè)備狀態(tài)監(jiān)控
在極端情況下,高端島3的36臺精編工作站需要各自同時進行4軌實時播放,這是比較考驗存儲系統(tǒng)壓力的,所以對存儲系統(tǒng)的狀態(tài)監(jiān)控是本系統(tǒng)的一項重點任務(wù)。高端島3選用的是國內(nèi)某著名存儲品牌的分布式NAS存儲產(chǎn)品,使用見圖5,硬件平臺包括網(wǎng)絡(luò)和物理節(jié)點及節(jié)點內(nèi)的硬盤、網(wǎng)卡、NVDIMM、內(nèi)存等。該存儲硬件部分采用全對稱架構(gòu)設(shè)計,最小的獨立存儲單元是節(jié)點,每個節(jié)點提供38T有效容量和500MB/s的帶寬輸出,支持3~288節(jié)點彈性無縫擴展,高端島3此次采購了8個節(jié)點。
該存儲系統(tǒng)能夠比較完善地支持SNMP協(xié)議監(jiān)控,監(jiān)控系統(tǒng)可根據(jù)協(xié)議獲取存儲的各項KPI指標。但由于存儲系統(tǒng)結(jié)構(gòu)較復(fù)雜、監(jiān)測指標眾多,如何將數(shù)據(jù)有效地組織和展現(xiàn)為業(yè)務(wù)管理人員需要的形式,是需要監(jiān)控系統(tǒng)合理設(shè)計的。
為了實現(xiàn)這一點,本監(jiān)控系統(tǒng)對存儲系統(tǒng)的狀態(tài)采集和展示建立了三級模型:第一級為整個存儲系統(tǒng)的運行情況;第二級為存儲節(jié)點的運行情況;第三級為單塊硬盤的運行情況,見圖6。業(yè)務(wù)人員可從第一級監(jiān)控模型獲取整個存儲系統(tǒng)運行是否正常、平均資源的使用率等總體信息,當(dāng)需要了解節(jié)點或硬盤的詳細運行情況時可通過模型不同層級的鏈接跳轉(zhuǎn)。
另外,由于存儲的監(jiān)控指標數(shù)量龐大,若統(tǒng)一以較小的時間間隔按照SNMP協(xié)議輪詢,可能會對存儲與監(jiān)控間的通訊造成壓力。例如存儲含8個節(jié)點,每節(jié)點38塊硬盤,每塊硬盤包括溫度、轉(zhuǎn)速、使用率等10多項KPI,因此,僅硬盤一項需要查詢的KPI指標就達數(shù)千項。對此,監(jiān)控系統(tǒng)采用對KPI重要性分級的方式,為不同級別的KPI按重要性分配不同時長的輪詢間隔,以降低監(jiān)控查詢的通訊壓力。為了避免低級別KPI輪詢間隔較長可能造成的報警不及時問題,本監(jiān)控系統(tǒng)將SNMP輪詢和故障Trap主動上報相結(jié)合,見圖7。存儲系統(tǒng)自檢到故障時通過Trap方式將故障問題點和故障描述上報,監(jiān)控系統(tǒng)按照報文查詢和顯示詳細故障問題,確保告警及時、詳細,無漏報情況發(fā)生。
此外,對于部分存儲系統(tǒng)無法完整提供的數(shù)據(jù),監(jiān)控系統(tǒng)需要從多種渠道采集信息并分析組裝后呈現(xiàn),見圖8。例如,業(yè)務(wù)管理人員關(guān)心客戶端帶寬占用情況,通過監(jiān)控系統(tǒng)的協(xié)議只能獲取到各存儲節(jié)點與客戶端的連接帶寬,但無法獲取客戶端主機名稱等資料,直接展現(xiàn)該數(shù)據(jù)會給使用人員造成問題定位不便的困難。對此,監(jiān)控系統(tǒng)將存儲監(jiān)控信息和機房制作設(shè)備監(jiān)控信息結(jié)合分析,按照一致性條件進行數(shù)據(jù)整合展示,方便用戶查詢。
3.2存儲配額監(jiān)控
除硬件性能指標外,高端島3存儲系統(tǒng)的配額管理功能也是業(yè)務(wù)管理人員非常關(guān)心的。高端島3為實現(xiàn)有效的空間管理,每個制作欄目以及單集節(jié)目的存儲空間會被分配以硬配額、軟配額等存儲空間限制指標,欄目配額使用超出計劃時監(jiān)控系統(tǒng)需要及時提醒管理人員處理。
高端島3節(jié)目配額的管理實現(xiàn),是由管控系統(tǒng)配置相關(guān)數(shù)據(jù)后調(diào)用存儲系統(tǒng)的配置接口,最終由存儲系統(tǒng)在文件底層實際控制配額空間的使用管理。對此,監(jiān)控系統(tǒng)可通過數(shù)據(jù)庫視圖查詢和Web Service接口調(diào)用方式從管控系統(tǒng)中獲取配額元數(shù)據(jù),并以SNMP協(xié)議從存儲系統(tǒng)獲取配額使用情況,同時綜合Trap形式的配額告警信息,將以上各項數(shù)據(jù)整合為業(yè)務(wù)管理人員可讀的配額信息后進行大屏展現(xiàn),并在配額超出閾值時,對相應(yīng)的欄目存儲使用空間做出及時告警,從而實現(xiàn)與配額相關(guān)的存儲業(yè)務(wù)監(jiān)控,見圖9。
4.制作流程監(jiān)控的實現(xiàn)
4.1流程進度監(jiān)控
高端島3的制作業(yè)務(wù)中,各節(jié)點是由多種入島和出島流程串聯(lián)而成的,這些流程主要靠服務(wù)總線系統(tǒng)驅(qū)動。一旦制作流程出現(xiàn)問題,會對島內(nèi)的制作業(yè)務(wù)產(chǎn)生嚴重的影響,所以,將流程的數(shù)量、狀態(tài)、詳情、報錯等信息綜合反映在制作監(jiān)控系統(tǒng)中是極有必要的。
對流程加以監(jiān)管,至少要滿足兩點要求:一是監(jiān)控角度能著眼全局,覆蓋整個流程節(jié)點,形成宏觀視角;二是能夠?qū)A考毠?jié)數(shù)據(jù)進行綜合分析,兼顧微觀視野。只有滿足以上兩點,監(jiān)控人員才能在流程發(fā)生問題時迅速定位問題并分析和解決問題。對此,監(jiān)控系統(tǒng)采用從總線系統(tǒng)讀取數(shù)據(jù)視圖的方式獲取流程相關(guān)數(shù)據(jù),并經(jīng)過分析后加以展現(xiàn)。
對于流程監(jiān)控的全局視角,監(jiān)控系統(tǒng)可監(jiān)測所有類型業(yè)務(wù)流程的運行狀態(tài),并按照運行、暫停、出錯、完成等情況進行分類顯示和告警,使業(yè)務(wù)管理人員全面掌握流程數(shù)量和狀態(tài),同時及時掌握流程出錯環(huán)節(jié),做出相應(yīng)的有效處理。其實現(xiàn)方式為:
(1)監(jiān)控系統(tǒng)從總線系統(tǒng)數(shù)據(jù)視圖中獲取所有流程定義,并按照業(yè)務(wù)需求進行入島流程和出島流程的分類;
(2)按照流程定義獲取當(dāng)前所有運行中的流程實例,并按照運行狀態(tài)分類展現(xiàn);
(3)對于出錯的流程實例,關(guān)聯(lián)查詢其所涉及的流程節(jié)點實例,并按照出錯類型和出錯數(shù)量統(tǒng)一展現(xiàn)。
對于流程監(jiān)控的微觀視角,監(jiān)控系統(tǒng)可分析和展現(xiàn)流程中所涉及的所有流程變量,業(yè)務(wù)管理人員通過詳細查詢流程變量,可了解該流程實例的健康詳情,對于出錯流程,可通過查看流程變量值分析錯誤原因并排查故障。
4.2多系統(tǒng)流程復(fù)合數(shù)據(jù)分析及報警
除了對高端島3內(nèi)流程類型、數(shù)量及狀態(tài)的及時展現(xiàn)和告警外,在日常的業(yè)務(wù)管理工作中,工作人員對流程數(shù)據(jù)往往還有更多的監(jiān)控需求,以便在流程故障發(fā)生之前及時定位問題并分析原因,例如:流程所涉及節(jié)目的送播關(guān)門時間、提交人員信息、打包合成等能力系統(tǒng)任務(wù)處理狀態(tài)、執(zhí)行進度、帶寬占用、配額占用等。而以上各項數(shù)據(jù)僅從總線系統(tǒng)的數(shù)據(jù)庫視圖中無法獲取,這就需要監(jiān)控系統(tǒng)從更多的渠道獲取信息并綜合分析流程狀態(tài)后進行統(tǒng)一展現(xiàn)。
為保證島內(nèi)節(jié)目能夠在規(guī)定時間內(nèi)及時送達播出系統(tǒng),監(jiān)控系統(tǒng)需要在以下各種情況下對流程狀態(tài)進行告警,以便提醒工作人員及時處理異常情況:對于播前24小時仍未發(fā)起入庫流程的節(jié)目進行低級別警告;對于播前12小時仍未發(fā)起入庫流程的節(jié)目進行高級別報警;對于播前24小時的所有流程進行分色高亮提示。由于總線系統(tǒng)的數(shù)據(jù)庫中只能查詢到已發(fā)起的流程,同時節(jié)目的播出時間存儲于管控系統(tǒng)而不是總線系統(tǒng)中,所以監(jiān)控系統(tǒng)需要對總線系統(tǒng)和管控系統(tǒng)進行跨庫聯(lián)合查詢,按照節(jié)目代碼、關(guān)門時間、是否正常發(fā)起流程等條件對節(jié)目信息進行綜合分析,并按照告警策略配置篩選出問題節(jié)目,分級別在告警界面進行統(tǒng)一展現(xiàn)和提示,見圖10。
另外,高端島3的流程中通常包含外系統(tǒng)任務(wù)調(diào)用節(jié)點,這是因為素材在入出庫過程中需要在總線系統(tǒng)之外的能力系統(tǒng)中完成素材打包渲染、MD5計算、遷移等處理任務(wù)。此類任務(wù)通常處理時間較長,所以它們的任務(wù)執(zhí)行狀態(tài)是否出錯、任務(wù)執(zhí)行進度百分比、打包效率是否正常,以及相應(yīng)節(jié)目素材的存儲帶寬占用、存儲配額占用等具體數(shù)值信息往往是值班管理人員關(guān)心的。對此,能力系統(tǒng)、打包合成系統(tǒng)、存儲系統(tǒng)均提供了WebService或其他服務(wù)查詢?nèi)蝿?wù)狀態(tài)、任務(wù)進度、帶寬占用、配額占用等數(shù)據(jù),供監(jiān)控系統(tǒng)調(diào)用。
在監(jiān)控系統(tǒng)中,如果監(jiān)測到流程進行到了外系統(tǒng)任務(wù)調(diào)用節(jié)點并出現(xiàn)停留等待,監(jiān)控系統(tǒng)會根據(jù)流程定義確認外系統(tǒng)任務(wù)類型,并根據(jù)配置分別調(diào)用相應(yīng)的查詢接口,或使用SNMP協(xié)議讀取相關(guān)后臺應(yīng)用服務(wù)器的讀寫帶寬,將任務(wù)執(zhí)行狀態(tài)、任務(wù)執(zhí)行進度、配額占用、帶寬占用等信息統(tǒng)一顯示在流程監(jiān)控界面,方便值班業(yè)務(wù)人員進行管理查詢,如圖11。
通過高端島3監(jiān)控系統(tǒng)項目的設(shè)計和實現(xiàn),島內(nèi)監(jiān)控工作的有效實行有力保障了每周提供40小時高清成片的生產(chǎn)能力,初步實現(xiàn)了項目規(guī)劃的目標。 作者簡介:
韓桂芝,2000年起任中央電視臺技術(shù)制作中心錄制二部視頻編輯,現(xiàn)任該部網(wǎng)絡(luò)管理員,主要負責(zé)監(jiān)看制作區(qū)設(shè)備、保障制作流程順利運轉(zhuǎn)和制作島節(jié)目安全播出。