基于Zabbix的高速公路機(jī)電運(yùn)維系統(tǒng)研究與設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
廣西高速公路系統(tǒng)通常由收費(fèi)系統(tǒng)、視頻監(jiān)控系統(tǒng)、通信系統(tǒng)、供配電系統(tǒng)、照明系統(tǒng)五部分組成[1]。體系龐大、設(shè)備類型多、數(shù)量大、分布廣是高速公路機(jī)電系統(tǒng)運(yùn)維工作的難點(diǎn)。例如,河百高速公路的視頻監(jiān)控子系統(tǒng)的服務(wù)器主機(jī)超過30臺(tái),全線攝像頭有1000多個(gè),交換機(jī)等網(wǎng)絡(luò)設(shè)備超過20臺(tái),分布在全線超過170km的各個(gè)收費(fèi)站。各路段普遍采用業(yè)務(wù)員反饋和維護(hù)員巡檢的方式維護(hù)設(shè)備,運(yùn)維人員的業(yè)務(wù)水平參差不齊,普遍存在發(fā)現(xiàn)不及時(shí)、排查難、解決慢、統(tǒng)計(jì)難等問題。特別是針對(duì)服務(wù)器以及網(wǎng)絡(luò)設(shè)備的監(jiān)控運(yùn)維能力較弱,發(fā)生故障時(shí)通常由運(yùn)維人員向設(shè)備廠商反饋或者在設(shè)備廠商的遠(yuǎn)程指導(dǎo)下進(jìn)行處理。因此,引入一套高效可靠的機(jī)電運(yùn)維系統(tǒng),實(shí)時(shí)監(jiān)控服務(wù)器、網(wǎng)絡(luò)設(shè)備、應(yīng)用程序等的運(yùn)行狀態(tài),提供便捷、及時(shí)的通知機(jī)制,讓運(yùn)維人員快速定位并解決故障就顯得尤為重要。
1Zabbix簡(jiǎn)介
Zabbix是一個(gè)企業(yè)級(jí)的分布式開源監(jiān)控系統(tǒng)解決方案,用來監(jiān)控IT基礎(chǔ)設(shè)施的可用性和性能,能夠監(jiān)控各種網(wǎng)絡(luò)設(shè)備、存儲(chǔ)以及服務(wù)器系統(tǒng)應(yīng)用的運(yùn)行參數(shù),具有健全、靈活的監(jiān)控?cái)?shù)據(jù)采集、存儲(chǔ)以及告警配置,廣泛應(yīng)用于互聯(lián)網(wǎng)行業(yè)。與其他監(jiān)控系統(tǒng)相比,Zabbix有更加詳細(xì)的開發(fā)文檔和中文支持文檔,能監(jiān)控幾乎所有類型的設(shè)備,并實(shí)現(xiàn)與其他運(yùn)維管理系統(tǒng)的完美對(duì)接。Zabbix提供對(duì)外開放接口,支持自定義告警,方便及時(shí)有效地發(fā)布通知,對(duì)于構(gòu)建分布式監(jiān)控系統(tǒng)具有重要作用。基于Zabbix與郵箱短信系統(tǒng)結(jié)合,可以建設(shè)一套能夠及時(shí)告警、快速定位、減輕運(yùn)維人員繁重工作量的運(yùn)維系統(tǒng)。
2系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
Zabbix分布式架構(gòu)分為CPs(client/proxy/server)和CNs(client/node/server)兩種。CPs架構(gòu)是單級(jí)分布式架構(gòu),proxy相當(dāng)于一個(gè)數(shù)據(jù)收集器,沒有其他任何功能,它不會(huì)處理數(shù)據(jù),不會(huì)觸發(fā)告警。CNs是多級(jí)分布式架構(gòu),node相當(dāng)于一個(gè)完整的Zabbixserver,需要收集和處理數(shù)據(jù)、報(bào)警、存儲(chǔ)數(shù)據(jù),node中所有的數(shù)據(jù)都會(huì)同步到Zabbixserver。Zabbix提供了非常便捷的從server切換到node的方法。根據(jù)目前廣西高速公路現(xiàn)狀以及視頻聯(lián)網(wǎng)的發(fā)展趨勢(shì),未來機(jī)電運(yùn)維系統(tǒng)可能存在的3個(gè)階段:(1)各個(gè)路段獨(dú)立管理機(jī)電系統(tǒng):(2)各個(gè)運(yùn)營公司整合其管轄下所有路段的機(jī)電系統(tǒng)進(jìn)行統(tǒng)一管理:(3)省公司整合所有路段的機(jī)電系統(tǒng)進(jìn)行統(tǒng)一管理。選擇CNs架構(gòu),能夠在不破壞上個(gè)階段的運(yùn)維系統(tǒng)運(yùn)行的基礎(chǔ)上,快速切換到下一階段?;赯abbix的高速公路機(jī)電運(yùn)維系統(tǒng)架構(gòu)如圖1所示。
2.2設(shè)備故障監(jiān)控模塊
設(shè)備故障監(jiān)控內(nèi)容包括服務(wù)器的CPU、內(nèi)存、磁盤等硬件參數(shù),網(wǎng)絡(luò)設(shè)備的端口狀態(tài)和流量,UPs電源的狀態(tài),攝像機(jī)的網(wǎng)絡(luò)狀況等,是整個(gè)監(jiān)控運(yùn)維系統(tǒng)的核心。其中,服務(wù)器采用agent的方式采集數(shù)據(jù),安裝agent的方式非常簡(jiǎn)單:網(wǎng)絡(luò)設(shè)備、UPs電源設(shè)備不支持安裝agent,采用sNMP的方式采集數(shù)據(jù):攝像機(jī)等前端設(shè)備有專門的平臺(tái)進(jìn)行管理,在運(yùn)維系統(tǒng)中主要考量網(wǎng)絡(luò)連通性,采用ping的方式監(jiān)測(cè)。Zabbix對(duì)設(shè)備故障已經(jīng)有較為完善可靠的支持,可采用其提供的模板配置進(jìn)行監(jiān)控。
2.3應(yīng)用程序故障監(jiān)控模塊
除了設(shè)備會(huì)發(fā)生故障,應(yīng)用程序在運(yùn)行過程中也會(huì)遇到執(zhí)行錯(cuò)誤的情況,因此必須有相關(guān)的錯(cuò)誤監(jiān)控機(jī)制。傳統(tǒng)的方式是將錯(cuò)誤記錄在日志中,待用戶或運(yùn)維人員發(fā)現(xiàn)問題后,通過日志去定位錯(cuò)誤。通過二次開發(fā),設(shè)計(jì)應(yīng)用程序故障監(jiān)控模塊可以實(shí)時(shí)監(jiān)控應(yīng)用程序運(yùn)行狀態(tài),提供應(yīng)用程序錯(cuò)誤上報(bào)接口,對(duì)應(yīng)用程序的錯(cuò)誤進(jìn)行識(shí)別并執(zhí)行相應(yīng)的告警策略。與傳統(tǒng)方式相比,應(yīng)用程序故障監(jiān)控模塊能更及時(shí)、有效地發(fā)現(xiàn)應(yīng)用程序的錯(cuò)誤。
2.4告警模塊
Zabbix提供了豐富的告警策略定義,系統(tǒng)需要根據(jù)路段的監(jiān)控定制有效的告警策略。同時(shí),Zabbix支持多種渠道通知運(yùn)維人員,包括短信、郵箱、微信、電話等,但因?yàn)楦咚俟愤\(yùn)營的敏感性,通常采用局域網(wǎng)郵箱通知的方式?;赯abbix的腳本支持,可以根據(jù)不同場(chǎng)景設(shè)計(jì)告警觸發(fā)后的自動(dòng)化操作,這些操作可以是獲取運(yùn)維人員需要的信息,也可以是自動(dòng)修復(fù),比如重啟服務(wù),使系統(tǒng)恢復(fù)更加及時(shí)。
2.5數(shù)據(jù)可視化模塊
Zabbix不僅能夠監(jiān)控大量不同類型的數(shù)據(jù)指標(biāo),還為這些數(shù)據(jù)及數(shù)據(jù)之間的關(guān)聯(lián)提供了多種可視化工具,通過圖形、展示屏、網(wǎng)絡(luò)拓?fù)鋱D等將數(shù)據(jù)直觀展現(xiàn)出來。運(yùn)維人員可以通過登錄前端web界面,瀏覽和查看監(jiān)控設(shè)備的實(shí)時(shí)或者歷史狀態(tài)。若其他展示平臺(tái)要引用Zabbix的監(jiān)控?cái)?shù)據(jù),只需通過Zabbix提供的AP1接口,就可以方便獲取Zabbix的監(jiān)控?cái)?shù)據(jù)甚至圖表,有助于信息一體化平臺(tái)的實(shí)現(xiàn)。
2.6可靠性設(shè)計(jì)
Zabbix的性能瓶頸主要在數(shù)據(jù)庫,機(jī)器數(shù)量越大,數(shù)據(jù)量的增大會(huì)使數(shù)據(jù)的讀寫成為發(fā)展瓶頸。實(shí)際上,高速公路單路段的服務(wù)器設(shè)備數(shù)量不會(huì)超過200臺(tái),而其他設(shè)備的監(jiān)控項(xiàng)少,數(shù)據(jù)量更是遠(yuǎn)不及服務(wù)器的監(jiān)控?cái)?shù)據(jù)量。按照Zabbix官網(wǎng)提供的數(shù)據(jù),單臺(tái)server節(jié)點(diǎn)可以充分滿足路段級(jí)的監(jiān)控需求。因此,基于成本的考慮,路段級(jí)的Zabbixserver不進(jìn)行冗余備份設(shè)計(jì),但是實(shí)現(xiàn)聯(lián)網(wǎng)后,路段級(jí)的節(jié)點(diǎn)數(shù)據(jù)會(huì)與分公司/省中心級(jí)的server節(jié)點(diǎn)同步。可靠性設(shè)計(jì)主要針對(duì)中心級(jí)的server節(jié)點(diǎn)。中心級(jí)的server采用集群方式部署,同時(shí)將數(shù)據(jù)庫從server中獨(dú)立出來,采用主備機(jī)方式部署,主備數(shù)據(jù)庫之間進(jìn)行實(shí)時(shí)同步。當(dāng)出現(xiàn)數(shù)據(jù)庫故障時(shí),快速切換到備用數(shù)據(jù)庫。
3結(jié)語
基于Zabbix的監(jiān)控框架,可設(shè)計(jì)出一套滿足高速公路機(jī)電設(shè)備運(yùn)維需求的高可靠分布式系統(tǒng):通過Zabbix的模板配置,對(duì)設(shè)備的故障狀態(tài)進(jìn)行監(jiān)控:通過自定義配置項(xiàng)的配置,對(duì)應(yīng)用程序的運(yùn)行狀態(tài)進(jìn)行監(jiān)控:通過定制有效的告警策略,結(jié)合內(nèi)部郵箱系統(tǒng),及時(shí)有效地通知運(yùn)維人員,由此實(shí)現(xiàn)高速公路機(jī)電設(shè)備的監(jiān)控?cái)?shù)據(jù)采集、告警、自動(dòng)恢復(fù)、數(shù)據(jù)展示,幫助運(yùn)維人員快速定位故障并解決問題,保證應(yīng)用程序的穩(wěn)定運(yùn)行。