国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

服務(wù)器運行實時監(jiān)控平臺的設(shè)計與研究

2022-10-31 07:54:26
山西電子技術(shù) 2022年5期
關(guān)鍵詞:集群服務(wù)器程序

連 娜

(山西職業(yè)技術(shù)學院,山西 太原 030006)

0 引言

現(xiàn)階段,面向高并發(fā)場景的軟件系統(tǒng)普遍采用了服務(wù)器集群作為部署和運行平臺,而在現(xiàn)有的針對Windows服務(wù)器的遠程管理中,用戶普遍采用以Team View、向日葵為代表的計算機管理軟件以遠程登錄的方式進行服務(wù)器工作狀態(tài)監(jiān)控和管理[1]。但作為遠程控制軟件,其主要功能集中在對單臺服務(wù)器遠程操作與配置方面,并不適用于對大量服務(wù)器同時進行實時監(jiān)控并進行數(shù)據(jù)歸集匯總的應(yīng)用場景。本文提出了一種基于微信小程序框架的輕便型應(yīng)用程序設(shè)計方案,能夠滿足隨時隨地監(jiān)測服務(wù)器集群運行狀態(tài)的應(yīng)用需求,有效簡化了服務(wù)器集群運行維護工作的復(fù)雜度并提升了工作效率。

1 服務(wù)器集群管理中微信小程序的應(yīng)用

在服務(wù)器集群的運維管理工作中,管理人員在根據(jù)實際運行情況及時調(diào)整集群工作模式、更新負載均衡方案以及分析集群故障原因時,都需要能夠?qū)崟r掌握各節(jié)點服務(wù)器的運行數(shù)據(jù)作為參考依據(jù)?,F(xiàn)有的遠程控制軟件,僅能通過逐一遠程登錄各節(jié)點服務(wù)器后查看各項運行信息,步驟繁瑣、耗時長且需要通過電腦操作,工作場地的局限性大且信息滯后、實時性差[2]。因此需要提供能夠在智能手機中運行的應(yīng)用程序,在實現(xiàn)批量采集服務(wù)器運行信息功能的同時具備良好的數(shù)據(jù)實時顯示功能。微信小程序作為騰訊公司發(fā)布的新一代手機應(yīng)用開發(fā)框架,具有使用便捷、響應(yīng)速度快以及便于更新和維護等優(yōu)勢,且無需安裝專用的APP程序,在解決了手機硬件兼容性問題的同時還節(jié)省了大量的手機存儲空間,非常適用于服務(wù)器集群運行數(shù)據(jù)實時監(jiān)控管理軟件的開發(fā)。因此,在本文設(shè)計的服務(wù)器運行實時監(jiān)控平臺方案中,以微信小程序開發(fā)框架為核心整合Python與PHP語言以及SQL Server數(shù)據(jù)庫技術(shù),完成服務(wù)器運行數(shù)據(jù)的采集存儲、匯總處理與實時顯示功能。

2 平臺的架構(gòu)設(shè)計與工作原理分析

2.1 平臺整體架構(gòu)設(shè)計

服務(wù)器運行實時監(jiān)控平臺的整體架構(gòu)如圖1所示,共由4個部分構(gòu)成,包括監(jiān)控程序、管理服務(wù)器、微信小程序模塊與管理平臺模塊。

圖1 系統(tǒng)架構(gòu)圖

監(jiān)控程序被部署在服務(wù)器集群的各節(jié)點上,負責采集各臺服務(wù)器主機的實時工作狀態(tài)數(shù)據(jù)并上傳至管理服務(wù)器的數(shù)據(jù)庫中。管理服務(wù)器作為平臺的核心模塊,負責數(shù)據(jù)的自動歸集與可靠存儲,并在此基礎(chǔ)上面向用戶提供數(shù)據(jù)訪問接口。微信小程序模塊負責從服務(wù)器中實時獲取集群中所有服務(wù)器的運行數(shù)據(jù)并批量顯示在用戶端的微信小程序中。管理平臺模塊負責面向管理人員提供日常運行管理所需的數(shù)據(jù)管理、分析等相關(guān)功能。

2.2 各模塊的工作原理與實現(xiàn)方式

監(jiān)控程序被安裝在集群中的各個節(jié)點服務(wù)器上并設(shè)置為開機自動運行模式,根據(jù)固定的間隔時間獲取服務(wù)器當前的CPU、內(nèi)存使用率、網(wǎng)絡(luò)連接與帶寬占用情況等數(shù)據(jù)并且在將數(shù)據(jù)打包為Json格式后發(fā)送至管理服務(wù)器的數(shù)據(jù)上傳接口中,監(jiān)控程序主要基于Python的Psutil庫實現(xiàn)。

管理服務(wù)器中包含后臺數(shù)據(jù)庫與數(shù)據(jù)上傳接口、用戶接口及管理接口程序,數(shù)據(jù)上傳接口在收到監(jiān)控程序所提交的信息后,首先對數(shù)據(jù)內(nèi)容進行有效性校驗,濾除錯誤與重復(fù)數(shù)據(jù)后,將數(shù)據(jù)添加至后臺數(shù)據(jù)庫中存儲;用戶接口在收到微信小程序模塊的數(shù)據(jù)請求并校驗其身份后,在數(shù)據(jù)庫中進行檢索并實時返回結(jié)果數(shù)據(jù)至微信小程序模塊;管理接口在接收到管理平臺模塊所提交的操作請求并驗證其身份后,在數(shù)據(jù)庫中執(zhí)行數(shù)據(jù)更新、檢索操作并返回執(zhí)行結(jié)果。管理服務(wù)器基于部署在公共網(wǎng)絡(luò)中的云服務(wù)器搭建,后臺數(shù)據(jù)庫使用SQL Server搭建、數(shù)據(jù)上傳與訪問接口使用PHP+Apache框架創(chuàng)建Web Service服務(wù)頁面實現(xiàn)。

微信小程序模塊用于向用戶提供各服務(wù)器的實時運行狀態(tài)信息、服務(wù)器運行數(shù)據(jù)的匯總統(tǒng)計結(jié)果以及故障緊急預(yù)警提示信息,其運行原理是在微信小程序平臺和管理服務(wù)器之間建立數(shù)據(jù)通信,從系統(tǒng)數(shù)據(jù)庫中實時檢索數(shù)據(jù)并顯示在小程序界面中。微信小程序模塊使用微信開發(fā)者工具開發(fā),使用小程序開發(fā)框架中提供的request遠程請求功能與管理服務(wù)器上的用戶接口進行數(shù)據(jù)通信。

管理平臺模塊負責向系統(tǒng)管理員提供用戶賬號管理、歷史數(shù)據(jù)的檢索與管理、數(shù)據(jù)匯總分析以及報表打印功能,以上各項功能均通過對管理服務(wù)器上的系統(tǒng)數(shù)據(jù)庫發(fā)起添加、檢索、更新的訪問操作實現(xiàn),其原理是將各類數(shù)據(jù)訪問操作與配置參數(shù)封裝為相應(yīng)的SQL命令后提交至系統(tǒng)數(shù)據(jù)庫中執(zhí)行并獲取結(jié)果。管理平臺模塊基于Web應(yīng)用模式實現(xiàn),使用PHP構(gòu)建與管理服務(wù)器進行數(shù)據(jù)交互的機制,用戶UI界面則基于HTML與Jquery資源庫構(gòu)建。

3 關(guān)鍵實現(xiàn)技術(shù)分析

3.1 服務(wù)器運行狀態(tài)數(shù)據(jù)的采集

服務(wù)器運行狀態(tài)數(shù)據(jù)主要分為計算機硬件資源使用情況以及網(wǎng)絡(luò)帶寬占用情況兩類,相關(guān)數(shù)據(jù)基于Python的Psutil庫獲取,實現(xiàn)過程如下所示:

import psutil//引入Psutil庫

psutil.cpu_percent(interval) //獲取CPU運行狀態(tài)

Cpura=phymem=psutil.virtual_memory() //獲取內(nèi)存運行狀態(tài)

Memra=int(phymem.percent #內(nèi)存占用比例

Memus=int(phymem.used/1024/1024) #內(nèi)存使用量

Memsum=int(phymem.total/1024/1024) #內(nèi)存總量

Net=psutil.net_io_counters()

SendData=Net.bytes_sent #網(wǎng)絡(luò)發(fā)送字節(jié)數(shù)

Receive=Net.bytes_recv #網(wǎng)絡(luò)接受字節(jié)數(shù)

3.2 微信小程序中數(shù)據(jù)的獲取與顯示

在微信小程序開發(fā)框架中,數(shù)據(jù)的交互與顯示采用了前后端分離的模式,其中數(shù)據(jù)的獲取是在js文件中通過編程訪問管理服務(wù)器的數(shù)據(jù)接口實現(xiàn),而數(shù)據(jù)的顯示則需要通過在wxml文件中構(gòu)建UI界面實現(xiàn)。需要注意的是,負責實現(xiàn)同一功能的js與wxml類型文件的名稱應(yīng)該完全相同。

首先需要在js文件中調(diào)用wx.request方法向指定的管理服務(wù)器數(shù)據(jù)訪問接口URL地址發(fā)送數(shù)據(jù)請求指令與參數(shù)并接收返回結(jié)果,實現(xiàn)過程如下所示:

var that=this

wx.request({

url:′ https://192.168.1.1/get.php′, //數(shù)據(jù)訪問接口地址,必需以https開頭

data:{ //向數(shù)據(jù)訪問接口發(fā)送參數(shù)

serId:101, //檢索編號為101的服務(wù)器運行數(shù)據(jù)

key:k100}, //用戶模塊的身份碼

success:function(res){ //回調(diào)函數(shù)

that.setData({data01:res.data[′srName ′]}) //將返回的數(shù)據(jù)賦值給頁面中的數(shù)據(jù)對象

that.setData({data02:res.data[′srCPU ′]})

that.setData({data03:res.data[′srMem ′]})}})

數(shù)據(jù)的實時刷新功能,使用微信小程序開發(fā)框架提供的setInterval定時器機制按固定的間隔時間向管理服務(wù)器不間斷的發(fā)送請求并獲取數(shù)據(jù)實現(xiàn)。

在完成數(shù)據(jù)獲取的操作后,需要在wxml文件中將各數(shù)據(jù)項加載至頁面顯示組件中,實現(xiàn)過程如下所示:

//將JS文件中的數(shù)據(jù)對象內(nèi)容顯示在界面中

對于數(shù)據(jù)的批量顯示功能,則通過頁面顯示組件提供的wx:for循環(huán)顯示機制對從管理服務(wù)器數(shù)據(jù)接口中返回的數(shù)據(jù)集進行循環(huán)遍歷操作來實現(xiàn)。

3.3 管理服務(wù)器中數(shù)據(jù)訪問接口的實現(xiàn)

數(shù)據(jù)訪問接口以Web Service服務(wù)的方式構(gòu)建,使用PHP語言完成訪問請求數(shù)據(jù)的接收、對系統(tǒng)數(shù)據(jù)庫的操作與數(shù)據(jù)結(jié)果的返回。實現(xiàn)過程如下所示:

If($_GET["key"]!="k100") //用戶身份碼校驗

{echo"Error";} //驗證不通過則直接返回錯誤信息

$sId=$_GET["serid"]; //接收服務(wù)器ID

$cmd="select*from sertable where id=".$sId; //構(gòu)建SQL命令

$redata=sqlsrv_query($server,$cmd); //執(zhí)行SQL命令并獲取結(jié)果集,$server為數(shù)據(jù)庫連接句柄

$row=sqlsrv_fetch_array($redata,SQLSRV_FETCH_ASSOC) //從結(jié)果集中獲取數(shù)據(jù)行

$srinfo=array(′title ′=> $row[′srName ′],′srCPU ′=>$row[′srCPU ′],′srMem ′=>$row[′srMem ′]); //將數(shù)據(jù)打包為數(shù)組格式

echo json_encode($srinfo); //將數(shù)據(jù)以json格式封裝并返回至發(fā)送請求的模塊

4 結(jié)論

本文針對Windows服務(wù)器集群的遠程實時管理需求,以微信小程序框架為核心設(shè)計了服務(wù)器運行實時監(jiān)控平臺方案,涵蓋了服務(wù)器運行數(shù)據(jù)的實時采集、存儲管理、訪問接口以及數(shù)據(jù)在微信小程序中的獲取與展示功能的運行原理與實現(xiàn)機制。使服務(wù)器管理人員能夠通過手機微信APP方便快捷的同時監(jiān)控多臺服務(wù)器的實時運行狀態(tài),提升了服務(wù)器管理工作的效率與故障響應(yīng)速度。

猜你喜歡
集群服務(wù)器程序
通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
試論我國未決羈押程序的立法完善
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
電子制作(2018年11期)2018-08-04 03:25:40
“程序猿”的生活什么樣
Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用
英國與歐盟正式啟動“離婚”程序程序
勤快又呆萌的集群機器人
得形忘意的服務(wù)器標準
計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
肃北| 于田县| 呼图壁县| 宜城市| 连山| 车致| 同心县| 吴堡县| 偃师市| 武汉市| 嵊泗县| 班戈县| 金昌市| 三门县| 原阳县| 河曲县| 陆川县| 夏河县| 界首市| 南雄市| 吉隆县| 永年县| 宁国市| 仪征市| 许昌市| 茶陵县| 太湖县| 星座| 嵊泗县| 涞水县| 桂林市| 十堰市| 平谷区| 西昌市| 板桥市| 赣州市| 桑植县| 彩票| 时尚| 新竹县| 镇坪县|