• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Zabbix的省級(jí)氣象云監(jiān)控運(yùn)維系統(tǒng)①

      2021-09-10 07:31:32楊立苑胡佳軍鄧衛(wèi)華劉喆玥
      關(guān)鍵詞:日志虛擬化運(yùn)維

      楊立苑,胡佳軍,鄧衛(wèi)華,劉喆玥

      (江西省氣象信息中心,南昌 330096)

      運(yùn)動(dòng)隨著近幾年來云計(jì)算技術(shù)的飛速蓬勃發(fā)展,云計(jì)算技術(shù)已經(jīng)發(fā)展成熟[1],云基礎(chǔ)設(shè)施也融入到各行各業(yè)當(dāng)中,例如政府服務(wù)部門的政務(wù)云[2,3]、教育服務(wù)行業(yè)的教育云[4,5]、公共衛(wèi)生事業(yè)的醫(yī)療云[6,7]等.為了實(shí)現(xiàn)氣象部門信息化、現(xiàn)代化的快速發(fā)展,集約化管理氣象信息基礎(chǔ)設(shè)施和業(yè)務(wù)應(yīng)用,江西省氣象部門已經(jīng)建設(shè)了省級(jí)氣象云平臺(tái).但是因?yàn)闅庀笤频奈锢碓O(shè)備數(shù)量和業(yè)務(wù)應(yīng)用數(shù)量的迅速增加,傳統(tǒng)的集群監(jiān)視技術(shù)已經(jīng)無法滿足當(dāng)下氣象云監(jiān)控運(yùn)維的需要[8].傳統(tǒng)的集群監(jiān)視技術(shù)只能對(duì)物理服務(wù)器的資源利用情況進(jìn)行簡(jiǎn)單的監(jiān)視,一方面無法對(duì)氣象云的虛擬機(jī)實(shí)例和運(yùn)行在氣象云上的云應(yīng)用進(jìn)行監(jiān)視,另一方面無法對(duì)監(jiān)視到的故障問題進(jìn)行報(bào)警及自動(dòng)應(yīng)急處理.

      江西省氣象云主要分為物理基礎(chǔ)設(shè)施層、虛擬化層、氣象應(yīng)用層.物理基礎(chǔ)設(shè)施層主要包括物理服務(wù)器、路由器、交換機(jī)等等,其中物理服務(wù)器經(jīng)常出現(xiàn)硬盤損壞、CPU 負(fù)載過高等問題.虛擬化層主要是基于KVM 虛擬化技術(shù)生成的虛擬機(jī)實(shí)例,虛擬機(jī)經(jīng)常出現(xiàn)假死無響應(yīng)、存儲(chǔ)空間不夠等問題.氣象云應(yīng)用層主要運(yùn)行的是氣象服務(wù)應(yīng)用,例如氣象數(shù)據(jù)傳輸存儲(chǔ)類應(yīng)用、氣象數(shù)據(jù)統(tǒng)計(jì)分析類應(yīng)用、氣象公眾Web服務(wù)類應(yīng)用,這些云應(yīng)用經(jīng)常會(huì)出現(xiàn)突然中斷退出、性能變低等問題.

      為了建立面向氣象云的監(jiān)控運(yùn)維系統(tǒng),實(shí)現(xiàn)對(duì)氣象云的三層監(jiān)控,及時(shí)對(duì)發(fā)生的故障和問題進(jìn)行通知和自動(dòng)處理,減輕值班運(yùn)維人員的日常維護(hù)負(fù)擔(dān),本文基于Zabbix 開源系統(tǒng)設(shè)計(jì)了一種氣象云監(jiān)控運(yùn)維系統(tǒng)(Meteorological Cloud Monitoring and Maintenance System,MCMMS).

      1 相關(guān)工作

      Cacti是一種網(wǎng)絡(luò)流量監(jiān)視圖形分析開源工具,它是基于PHP、MySQL、RRDTool 等開發(fā)的[9].它通過SNMP的snmpget 命令和snmpwalk 命令去遠(yuǎn)程獲取網(wǎng)絡(luò)設(shè)備相關(guān)信息,然后基于RRDTool 工具繪制監(jiān)視設(shè)備的性能狀態(tài)圖.Cacti 具備精準(zhǔn)的流量監(jiān)視能力,但不支持分布式集群監(jiān)控,缺乏報(bào)警功能,不適應(yīng)目前云環(huán)境下的監(jiān)控需求.

      Nagios是一種監(jiān)視系統(tǒng)運(yùn)行和網(wǎng)絡(luò)設(shè)備信息的開源監(jiān)視系統(tǒng)[10,11].它能夠有效監(jiān)視各類操作系統(tǒng)的狀態(tài)以及路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備的狀態(tài).當(dāng)監(jiān)視對(duì)象出現(xiàn)異常時(shí),它能夠以郵件和短信的方式發(fā)出警報(bào).雖然它告警功能強(qiáng)大,但是它的數(shù)據(jù)收集機(jī)制不強(qiáng),在當(dāng)下云環(huán)境虛擬機(jī)眾多的情況下,添加配置監(jiān)視對(duì)象也很繁瑣,不宜進(jìn)行維護(hù).

      Ganglia是一種可擴(kuò)展的分布式監(jiān)控系統(tǒng),它是主要為高性能計(jì)算集群設(shè)計(jì)的[12,13].它可以監(jiān)視高性能計(jì)算集群各個(gè)節(jié)點(diǎn)的狀態(tài)信息,通過gmond 代理采集各項(xiàng)性能指標(biāo),通過gmetad 進(jìn)程進(jìn)行監(jiān)視數(shù)據(jù)的匯總,最后通過PHP 展示機(jī)器的性能數(shù)據(jù).但是這個(gè)系統(tǒng)對(duì)應(yīng)用的監(jiān)視比較薄弱.

      Zabbix為分布式系統(tǒng)和網(wǎng)絡(luò)監(jiān)視功能提供了一種基于Web 應(yīng)用的企業(yè)級(jí)開源解決方案[14,15].Zabbix的監(jiān)控方式如圖1所示,Zabbix 可以通過代理、JMX、SNMP 等多種方式對(duì)服務(wù)器和網(wǎng)絡(luò)進(jìn)行監(jiān)控?cái)?shù)據(jù)收集,能夠支持包括Linux、Windows 在內(nèi)的各種系統(tǒng)平臺(tái).Zabbix 既解決了Cacti 沒有報(bào)警的不足,也解決了Nagios 配置繁瑣的問題.Zabbix 另外的一個(gè)優(yōu)點(diǎn)在于能夠允許用戶對(duì)監(jiān)視功能進(jìn)行自定義擴(kuò)展.

      圖1 Zabbix的監(jiān)控方式

      2 系統(tǒng)的體系結(jié)構(gòu)

      江西省氣象云主要分為物理基礎(chǔ)設(shè)施層、虛擬化層、氣象應(yīng)用層[16].物理基礎(chǔ)設(shè)施層主要包括物理服務(wù)器和網(wǎng)絡(luò)設(shè)備.虛擬化層主要包括運(yùn)行在物理基礎(chǔ)設(shè)施層上的各類虛擬機(jī).氣象云Hypervisor是運(yùn)行在物理基礎(chǔ)設(shè)施層和虛擬化層之間的軟件,它可以對(duì)物理基礎(chǔ)設(shè)施進(jìn)行硬件資源抽象,然后為虛擬化層供給共享的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源.用戶可以通過Hypervisor對(duì)虛擬化層進(jìn)行一定程度的性能監(jiān)視以及對(duì)虛擬機(jī)進(jìn)行生命周期管理.氣象應(yīng)用運(yùn)行在虛擬機(jī)的操作系統(tǒng)上,為用戶提供氣象信息技術(shù)服務(wù).

      基于Zabbix的氣象云監(jiān)控運(yùn)維系統(tǒng)體系結(jié)構(gòu)如圖2所示,主要分為氣象云監(jiān)控代理和氣象云監(jiān)控運(yùn)維Web 系統(tǒng)兩部分.

      圖2 氣象云監(jiān)控運(yùn)維系統(tǒng)體系結(jié)構(gòu)

      氣象云監(jiān)控運(yùn)維系統(tǒng)需要在物理服務(wù)器和虛擬機(jī)中部署監(jiān)控代理.部署在物理服務(wù)器中的監(jiān)控代理主要是監(jiān)視物理服務(wù)器以及運(yùn)行在其上所有虛擬機(jī)的CPU資源、內(nèi)存資源、網(wǎng)絡(luò)資源、硬盤資源的實(shí)時(shí)使用情況.部署在虛擬機(jī)中的監(jiān)控代理主要監(jiān)視運(yùn)行在虛擬機(jī)上氣象應(yīng)用的運(yùn)行情況.這些部署在氣象云上的監(jiān)控代理會(huì)將監(jiān)視數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給氣象云監(jiān)控運(yùn)維系統(tǒng).另外,這些監(jiān)控代理還會(huì)接收來自監(jiān)控運(yùn)維系統(tǒng)的操作指令,自動(dòng)對(duì)氣象云進(jìn)行應(yīng)急運(yùn)維操作.

      氣象云監(jiān)控運(yùn)維Web 系統(tǒng)自下而上主要分為4 層,分別是業(yè)務(wù)數(shù)據(jù)庫層、數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、展示層.

      業(yè)務(wù)邏輯層使用的是MySQL 數(shù)據(jù)庫,數(shù)據(jù)庫中存儲(chǔ)著各種資源歷史使用情況、設(shè)備實(shí)例的詳細(xì)信息、監(jiān)視規(guī)則、觸發(fā)報(bào)警規(guī)則、報(bào)警事件等.

      數(shù)據(jù)訪問層采用的是ORM 框架,它向上為業(yè)務(wù)邏輯層提供了數(shù)據(jù)庫的訪問接口,向下使用面向?qū)ο蟮男问綄?duì)數(shù)據(jù)庫中的表進(jìn)行了映射操作.

      業(yè)務(wù)邏輯層是氣象云監(jiān)控運(yùn)維系統(tǒng)的核心部分,它分為兩大部分,一部分是繼承原有的Zabbix 監(jiān)視業(yè)務(wù)邏輯,另一部分是在Zabbix 數(shù)據(jù)庫基礎(chǔ)上對(duì)Zabbix進(jìn)行了可視化以及報(bào)警、應(yīng)急操作的擴(kuò)展.繼承原有的監(jiān)視業(yè)務(wù)邏輯主要包括數(shù)據(jù)收集模塊、主動(dòng)監(jiān)視模塊、數(shù)據(jù)處理模塊,擴(kuò)展的業(yè)務(wù)邏輯主要包括可視化模塊、報(bào)警模塊、應(yīng)急操作模塊.數(shù)據(jù)收集模塊的作用是接收從氣象云監(jiān)控代理發(fā)送過來的數(shù)據(jù),主動(dòng)監(jiān)視模塊的作用是監(jiān)控運(yùn)維系統(tǒng)通過一些常用協(xié)議去主動(dòng)監(jiān)視Java 應(yīng)用、網(wǎng)絡(luò)設(shè)備、硬件設(shè)備,數(shù)據(jù)處理模塊主要是對(duì)監(jiān)視數(shù)據(jù)進(jìn)行處理、讀取.報(bào)警模塊的作用是根據(jù)報(bào)警觸發(fā)規(guī)則為用戶推送告警信息,應(yīng)急操作模塊的作用是對(duì)運(yùn)維過程中出現(xiàn)的問題進(jìn)行及時(shí)的簡(jiǎn)單處理,可視化模塊是將監(jiān)控的相關(guān)信息展示到前臺(tái)頁面.業(yè)務(wù)服務(wù)視圖負(fù)責(zé)對(duì)前臺(tái)的模型及頁面進(jìn)行渲染.

      展示層需要為PC Web 桌面和智能手機(jī)(iOS、Android)提供信息展示功能.值班人員的PC Web 桌面是基于HTML5 開發(fā),采用了BootStrap4、Jquery 等技術(shù),為用戶提供了監(jiān)控報(bào)警信息的頁面展示以及和監(jiān)控有關(guān)的配置頁面.面向智能手機(jī)的展示層主要是用于接收瀏覽報(bào)警信息,報(bào)警信息會(huì)根據(jù)重要等級(jí)分別通過值班平臺(tái)、短信平臺(tái)、微信平臺(tái)推送給值班運(yùn)維人員.

      3 關(guān)鍵技術(shù)

      3.1 Agent 監(jiān)視方法

      本系統(tǒng)采用在操作系統(tǒng)中部署監(jiān)視代理(Agent)的方式對(duì)氣象云的物理服務(wù)器、虛擬機(jī)、關(guān)鍵應(yīng)用進(jìn)行監(jiān)視,Agent 在獲取到監(jiān)視信息后,會(huì)將這些信息發(fā)送給MCMMS Server.Agent 按照與MCMMS Server交互方式分為主動(dòng)類型和被動(dòng)類型.

      主動(dòng)類型的Agent與MCMMS Server 交互的流程如圖3所示.主動(dòng)類型的Agent與MCMMS Server 交互分為準(zhǔn)備期和運(yùn)行期這兩個(gè)階段.首先Agent 發(fā)出與MCMMS Server 建立TCP 連接的請(qǐng)求,建立與MCMMS Server的TCP 通信通道.然后Agent 會(huì)向MCMMS Server 發(fā)送請(qǐng)求監(jiān)視項(xiàng)目表的申請(qǐng),Zabbix 會(huì)根據(jù)請(qǐng)求返回相應(yīng)Agent 所需監(jiān)視項(xiàng)目表.Agent 在獲取到自己的監(jiān)視項(xiàng)目表后會(huì)對(duì)返回的監(jiān)視項(xiàng)目表進(jìn)行處理,處理完畢后斷開TCP 連接.接下來,Agent 進(jìn)入運(yùn)行期,首先會(huì)建立與MCMMS Server 發(fā)送監(jiān)視信息的TCP連接通道,然后會(huì)根據(jù)配置文件中預(yù)定義的時(shí)間間隔發(fā)送監(jiān)視信息給MCMMS Server.MCMMS Server 在收到監(jiān)視信息后會(huì)對(duì)監(jiān)視信息進(jìn)行處理,并且存入到數(shù)據(jù)庫中.

      圖3 主動(dòng)類型Agent 交互流程

      被動(dòng)類型的Agent與MCMMS Server 交互的流程如圖4所示.對(duì)于被動(dòng)類型的Agent,MCMMS Server 首先會(huì)發(fā)出與Agent 建立TCP 連接的請(qǐng)求,獲取與Agent 數(shù)據(jù)傳輸通信的通道.然后MCMMS Server 會(huì)向Agent 發(fā)送相關(guān)數(shù)據(jù)請(qǐng)求,該數(shù)據(jù)請(qǐng)求主要是需要監(jiān)視項(xiàng)目的名字.Agent 在收到MCMMS Server發(fā)來的數(shù)據(jù)請(qǐng)求后,會(huì)讀取相應(yīng)的監(jiān)視數(shù)據(jù),然后將獲取的監(jiān)視信息返回給MCMMS Server.MCMMS Server收到返回的監(jiān)視信息后會(huì)進(jìn)行數(shù)據(jù)處理,然后存儲(chǔ)到數(shù)據(jù)庫中,最后斷開TCP 連接.

      圖4 被動(dòng)類型Agent 交互流程

      兩種類型的Agent 都會(huì)按照設(shè)計(jì)約定的數(shù)據(jù)傳輸協(xié)議與MCMMS Server 進(jìn)行通信,該數(shù)據(jù)協(xié)議采用JSON 數(shù)據(jù)格式,但是會(huì)在每條數(shù)據(jù)之前加上頭部標(biāo)識(shí)符和數(shù)據(jù)長(zhǎng)度標(biāo)識(shí)符,格式順序如下所示:<頭部標(biāo)識(shí)><數(shù)據(jù)長(zhǎng)度標(biāo)識(shí)><監(jiān)視數(shù)據(jù)>.頭部標(biāo)識(shí)一共是5 個(gè)字節(jié),數(shù)據(jù)長(zhǎng)度標(biāo)識(shí)一共是8 個(gè)字節(jié),每一條數(shù)據(jù)量大小不能超過64 M,這是為了防止內(nèi)存消耗過快.

      3.2 面向基礎(chǔ)云資源的監(jiān)視

      江西省氣象云虛擬化資源是基于libvirt 進(jìn)行監(jiān)視的,libvirt是一款用于虛擬化平臺(tái)管理的開源API 庫.libvirt 提供了針對(duì)不同虛擬化平臺(tái)的監(jiān)視功能,對(duì)于不同的虛擬化平臺(tái)都提供了該平臺(tái)的驅(qū)動(dòng),并且為不同語言提供了統(tǒng)一的編程接口,通過調(diào)用接口可以實(shí)現(xiàn)對(duì)氣象云的虛擬化操作.對(duì)基礎(chǔ)云資源的監(jiān)視主要包括對(duì)計(jì)算資源的監(jiān)視、對(duì)存儲(chǔ)資源的監(jiān)視、對(duì)網(wǎng)絡(luò)資源的監(jiān)視.

      對(duì)于計(jì)算資源的監(jiān)視就是對(duì)物理服務(wù)器和虛擬機(jī)的CPU 利用率進(jìn)行監(jiān)視.開源庫libvirt 雖然沒有提供接口讓外部系統(tǒng)直接獲取CPU 利用率,但是外部系統(tǒng)可以通過計(jì)算CPU Time 間接獲取CPU 利用率,CPU利用率獲取算法如算法1 所示.

      算法1.CPU 利用率獲取算法輸入:虛擬機(jī)實(shí)例集instanceList輸出:虛擬機(jī)使用率集合cpuMapList 1.for instancein instanceList:2.get time1,time2 from system time 3.get CPUTime1,CPUTime2,cores_nums,uuidfrom Qemu 4.//計(jì)算CPU 時(shí)鐘差5.ΔCPUTime=CPUTime2 - CPUTime1 6.//計(jì)算自然時(shí)間差7.Δtime=time2 - time1 8.//計(jì)算CPU 使用率9.CPU_usage=ΔCPUTime×100/(Δtime×cores_nums×109)10.cpuMapList ← map<uuid,Cpu_usage>11.return cpuMapList

      對(duì)存儲(chǔ)資源的監(jiān)視就是對(duì)物理服務(wù)器和虛擬機(jī)的內(nèi)存資源和硬盤資源進(jìn)行監(jiān)視.內(nèi)存資源的使用情況獲取比較簡(jiǎn)單,只需要獲取宿主機(jī)上每個(gè)實(shí)例的Domain基礎(chǔ)信息,然后從基礎(chǔ)信息中提取與該實(shí)例相關(guān)的最大內(nèi)存大小和已使用內(nèi)存大小.硬盤資源的總量和使用量首先需要通過libvirt 接口獲取Domain的情況及XML 配置文件,然后通過XML 可以獲取每個(gè)機(jī)器的名稱,最后再通過Domain的設(shè)備塊信息接口blockinfo獲取需要監(jiān)測(cè)的數(shù)值.另外,獲取硬盤的I/O 情況與獲取硬盤的使用量過程類似,但是在調(diào)用接口獲取設(shè)備信息時(shí)需要調(diào)用設(shè)備快查詢接口blockstats 獲取需要監(jiān)測(cè)的數(shù)值.

      對(duì)于網(wǎng)絡(luò)資源的監(jiān)視就是對(duì)虛擬機(jī)的虛擬網(wǎng)卡數(shù)據(jù)流入流出量進(jìn)行監(jiān)視.首先需要使用libvirt的API獲取Domain的情況,然后將虛擬網(wǎng)卡設(shè)備的名稱作為參數(shù)傳遞給libvirt的API,通過interfaceStats 接口去獲取虛擬網(wǎng)卡設(shè)備的屬性字段值,這些值便是虛擬網(wǎng)卡流入流出的數(shù)據(jù)量.對(duì)于網(wǎng)絡(luò)設(shè)備如路由器和交換機(jī)的監(jiān)視,需要使用SNMP 功能進(jìn)行監(jiān)視.使用SNMP首先需要使用snmpwalk 命令對(duì)對(duì)象標(biāo)識(shí)符(OID)值進(jìn)行遍歷,然后再根據(jù)具體的OID 值使用snmpget 命令獲取該設(shè)備的網(wǎng)口狀態(tài)和流量.

      3.3 面向關(guān)鍵云應(yīng)用的監(jiān)視

      對(duì)于運(yùn)行在氣象云上的云應(yīng)用主要監(jiān)視常用的基礎(chǔ)軟件MySQL 數(shù)據(jù)庫和Tomcat Web 容器的性能以及C/S 架構(gòu)和B/S 架構(gòu)的應(yīng)用軟件.

      MySQL 數(shù)據(jù)庫是目前主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件.本系統(tǒng)將使用被動(dòng)類型Agent 模式對(duì)Zabbix的監(jiān)視進(jìn)行擴(kuò)展.Agent 將會(huì)對(duì)MySQl的存活狀態(tài)、更新類SQL 執(zhí)行個(gè)數(shù)、查詢類SQL 執(zhí)行個(gè)數(shù)、插入類SQL 執(zhí)行個(gè)數(shù)、刪除類SQL 執(zhí)行個(gè)數(shù)、慢查詢語句個(gè)數(shù)進(jìn)行監(jiān)視.首先需要在Agent的配置文件中進(jìn)行自定義監(jiān)視命令的配置.自定義的監(jiān)視命令需要遵循Zabbix的規(guī)范,按照UserParameter=key,command的形式進(jìn)行定義,這里監(jiān)視命令基于MySQL自帶的mysqladmin 命令進(jìn)行編寫.

      由于Tomcat Web 應(yīng)用容器是基于JAVA 語言開發(fā)的,所以MCMMS Server 可以通過JMX對(duì)Tomcat的性能進(jìn)行監(jiān)視.JMX是Java 管理的擴(kuò)展,給應(yīng)用程序提供了監(jiān)控管理功能的接口.使用JMX 不需要在Tomcat 代碼中增加新的機(jī)制和代碼,只需要在啟動(dòng)Tomcat 服務(wù)器前修改相關(guān)的配置文件開啟支持JMX接口的服務(wù)端口即可.通過JMX 監(jiān)視用戶便可以監(jiān)視到Tomcat 服務(wù)占用CPU的情況、并發(fā)線程數(shù)量、內(nèi)存分配情況等.修改配置文件可以開啟JMX 支持.

      對(duì)于用戶部署在氣象云上的應(yīng)用,系統(tǒng)無法入侵式的監(jiān)視應(yīng)用程序應(yīng)用情況,只能通過監(jiān)視應(yīng)用的日志達(dá)到監(jiān)視應(yīng)用運(yùn)行狀態(tài)的目的.監(jiān)視應(yīng)用日志的Agent 工作流程如圖5所示.Agent 會(huì)定時(shí)掃描應(yīng)用的日志目錄,對(duì)該日志目錄下的日志文件進(jìn)行文件名正則表達(dá)式匹配,當(dāng)匹配到文件名相符的日志文件,Agent 會(huì)去數(shù)據(jù)庫中讀取該日志文件的字節(jié)計(jì)數(shù)器和更新時(shí)間計(jì)數(shù)器.如果日志文件的大小小于字節(jié)計(jì)數(shù)器,那么Agent 將會(huì)從日志頭部開始讀取日志文件,計(jì)數(shù)器也會(huì)重置為0.如果日志文件大小大于字節(jié)計(jì)數(shù)器,那么Agent 將會(huì)從最新的位置開始讀取文件.Agent 逐行讀取文件時(shí),會(huì)按照自定義的應(yīng)用錯(cuò)誤關(guān)鍵字檢查日志文件內(nèi)容,如果發(fā)現(xiàn)應(yīng)用錯(cuò)誤信息,Agent會(huì)將該信息發(fā)送給MCMMS Server.Agent 每次結(jié)束一個(gè)日志文件檢查時(shí),會(huì)將數(shù)據(jù)庫中該日志文件的計(jì)數(shù)器更新.另外,對(duì)B/S 架構(gòu)的Web應(yīng)用軟件,MCMMS Server 可以對(duì)自定義的Web 網(wǎng)頁URL 進(jìn)行定時(shí)掃描,收集訪問該網(wǎng)頁的下載速度、響應(yīng)時(shí)間以及返回的HTTP 網(wǎng)頁狀態(tài)碼.如果發(fā)現(xiàn)響應(yīng)時(shí)間超時(shí)或者返回的狀態(tài)碼是404 等錯(cuò)誤碼,那么將會(huì)觸發(fā)對(duì)該Web 應(yīng)用的告警.

      圖5 Agent 監(jiān)視應(yīng)用日志文件流程

      3.4 報(bào)警運(yùn)維技術(shù)

      在收集的監(jiān)視數(shù)據(jù)基礎(chǔ)上,系統(tǒng)會(huì)對(duì)監(jiān)視數(shù)據(jù)進(jìn)行處理,為值班人員提供報(bào)警功能和故障自動(dòng)化處理功能.報(bào)警控制流程如圖所示.報(bào)警運(yùn)維主要分為兩個(gè)模塊:觸發(fā)器和應(yīng)急操作.

      觸發(fā)器是當(dāng)監(jiān)視數(shù)據(jù)不滿足自定義的約束條件時(shí),會(huì)發(fā)出觸發(fā)某個(gè)操作的指令.每一臺(tái)物理設(shè)備實(shí)例或者虛擬機(jī)實(shí)例都對(duì)應(yīng)多條觸發(fā)器.每個(gè)觸發(fā)器都會(huì)定義一個(gè)邏輯表達(dá)式,該邏輯表達(dá)式是監(jiān)事數(shù)據(jù)的約束條件.邏輯表達(dá)式按照約定的格式進(jìn)行定義,約定的基本格式如下.{<實(shí)例名>:<監(jiān)視項(xiàng)>.<函數(shù)>(<參數(shù)>)}<邏輯運(yùn)算符><約束量>,其中實(shí)例名是監(jiān)視系統(tǒng)中物理設(shè)備或者虛擬機(jī)的名字,監(jiān)視項(xiàng)是所需要監(jiān)視項(xiàng)目的名稱,包含參數(shù)的函數(shù)是用來返回該函數(shù)指定的監(jiān)視項(xiàng)數(shù)據(jù),邏輯運(yùn)算符是用來判斷監(jiān)視數(shù)據(jù)是否滿足約束量.表達(dá)式中的函數(shù)一共有5 種,分別是avg、count、last、min、max,具體的作用如表1所示.觸發(fā)器的表達(dá)式由滿足約束到不滿足約束或者由不滿足約束到滿足約束,觸發(fā)器的狀態(tài)會(huì)由正常變?yōu)楫惓;蛘哂僧惓W優(yōu)檎?每次觸發(fā)器狀態(tài)的變化都會(huì)生成一個(gè)事件.事件按照問題的重要性會(huì)分成5 個(gè)等級(jí),等級(jí)從輕到重分別是提示(Information)、警告(Warning)、一般(Average)、重要(High)、災(zāi)難性(Disaster).

      表1 各函數(shù)的作用

      當(dāng)觸發(fā)器的約束條件不被滿足后,系統(tǒng)會(huì)針對(duì)該觸發(fā)器采取應(yīng)急操作.應(yīng)急操作主要包括兩個(gè)部分,一是將產(chǎn)生的報(bào)警信息告知值班人員以及系統(tǒng)運(yùn)維人員,二是對(duì)產(chǎn)生的問題執(zhí)行相應(yīng)的應(yīng)急指令.發(fā)送報(bào)警提示的方法主要包括發(fā)出警報(bào)聲音、短信通知、微信通知、郵件通知.對(duì)于一線24 小時(shí)值班人員,一般采用直接發(fā)出警報(bào)聲音的方式進(jìn)行通知.對(duì)于二線運(yùn)維人員,由于不在值班室,會(huì)采用短信通知和微信通知兩種方式,短信通知主要通知重要和災(zāi)難性的問題,微信通知主要通知一般性及以下的問題.對(duì)于產(chǎn)生的問題執(zhí)行相應(yīng)的應(yīng)急指令主要是指通過遠(yuǎn)程SSH和IPMI 連接到問題設(shè)備實(shí)例上,執(zhí)行一定的系統(tǒng)恢復(fù)命令.在運(yùn)維過程中,常見的需要恢復(fù)場(chǎng)景如表2所示.

      表2 常見應(yīng)急恢復(fù)場(chǎng)景

      4 實(shí)驗(yàn)測(cè)試

      4.1 系統(tǒng)平臺(tái)部署

      系統(tǒng)的平臺(tái)部署環(huán)境如圖6所示,一臺(tái)服務(wù)器部署了MySQL 監(jiān)控?cái)?shù)據(jù)庫,一臺(tái)服務(wù)器部署了Zabbix服務(wù)器,擴(kuò)展Zabbix 功能的Web 應(yīng)用部署在另外一臺(tái)服務(wù)器上.用戶可以通過Web 桌面訪問Zabbix 服務(wù)應(yīng)用和擴(kuò)展服務(wù)應(yīng)用.值班運(yùn)維人員的智能手機(jī)會(huì)從擴(kuò)展應(yīng)用服務(wù)上獲得監(jiān)控運(yùn)維信息.

      圖6 系統(tǒng)的平臺(tái)部署環(huán)境

      4.2 系統(tǒng)平臺(tái)展示

      圖7是對(duì)監(jiān)控告警信息的總覽,圖7上部分是各類告警個(gè)數(shù)的統(tǒng)計(jì)和當(dāng)天值班人員的信息.圖7下部分是滾動(dòng)的詳細(xì)告警信息和產(chǎn)生告警信息來源的區(qū)域告警.圖8和圖9是按照服務(wù)器以及虛擬機(jī)在實(shí)際環(huán)境中的機(jī)柜、網(wǎng)段分布信息繪制的告警分布圖,對(duì)于不同的告警信息系會(huì)用不同的顏色進(jìn)行標(biāo)注.圖10是監(jiān)控運(yùn)維系統(tǒng)通過短信平臺(tái)和微信平臺(tái)推送到智能手機(jī)上的監(jiān)控告警信息.

      圖7 監(jiān)控告警信息總覽

      圖8 服務(wù)器監(jiān)控告警分布圖

      圖9 虛擬機(jī)監(jiān)控告警分布圖

      圖10 智能手機(jī)接收監(jiān)控告警信息

      5 結(jié)束語

      本文基于Zabbix 設(shè)計(jì)了一套面向氣象云的監(jiān)控運(yùn)維系統(tǒng),為氣象云環(huán)境中的物理基礎(chǔ)設(shè)施、虛擬機(jī)以及運(yùn)行在其上的云應(yīng)用進(jìn)行了實(shí)時(shí)監(jiān)控.如果在氣象云中出現(xiàn)了故障,該系統(tǒng)能夠快速發(fā)現(xiàn)問題,通知值班運(yùn)維人員,并且會(huì)根據(jù)預(yù)定義命令自動(dòng)進(jìn)行先行維護(hù).這保障了氣象云的平穩(wěn)運(yùn)行,減輕了值班運(yùn)維人員的工作量.目前系統(tǒng)對(duì)云應(yīng)用的監(jiān)控種類少、粒度粗,下一步將會(huì)研究擴(kuò)展云應(yīng)用監(jiān)控的種類以及優(yōu)化云應(yīng)用監(jiān)控的方法.

      猜你喜歡
      日志虛擬化運(yùn)維
      一名老黨員的工作日志
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      運(yùn)維技術(shù)研發(fā)決策中ITSS運(yùn)維成熟度模型應(yīng)用初探
      基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年10期)2019-06-17 11:45:10
      風(fēng)電運(yùn)維困局
      能源(2018年8期)2018-09-21 07:57:24
      對(duì)基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
      電子制作(2018年14期)2018-08-21 01:38:20
      虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
      雜亂無章的光伏運(yùn)維 百億市場(chǎng)如何成長(zhǎng)
      能源(2017年11期)2017-12-13 08:12:25
      游學(xué)日志
      基于ITIL的運(yùn)維管理創(chuàng)新實(shí)踐淺析
      云安县| 禄劝| 孟州市| 九台市| 个旧市| 大名县| 冷水江市| 黎平县| 平利县| 天气| 崇文区| 溧水县| 滦南县| 凤城市| 无锡市| 衢州市| 德安县| 南投县| 迭部县| 阜康市| 滦平县| 哈尔滨市| 文成县| 东港市| 隆回县| 周宁县| 商洛市| 尉氏县| 克什克腾旗| 湖州市| 民和| 文成县| 邻水| 崇义县| 天祝| 兴和县| 宜州市| 凉城县| 伊金霍洛旗| 金塔县| 柳林县|