亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于python遠(yuǎn)程主機(jī)監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)

        2021-04-01 06:18:40仇虹孟彬孫沖

        仇虹 孟彬 孫沖

        摘要:針對(duì)網(wǎng)絡(luò)運(yùn)維工作中由于服務(wù)器主機(jī)空間分散導(dǎo)致值勤效率不高的問題,設(shè)計(jì)了一款可監(jiān)控遠(yuǎn)程服務(wù)器運(yùn)行信息的軟件。軟件基于python的psutil和wmi模塊采集遠(yuǎn)程主機(jī)的運(yùn)行信息,基于UDP套接字傳送相關(guān)信息,基于SQLite數(shù)據(jù)庫存儲(chǔ)信息和Tkinter標(biāo)準(zhǔn)庫設(shè)計(jì)了,運(yùn)行信息在GUI進(jìn)行展示。對(duì)軟件進(jìn)行實(shí)際環(huán)境部署并測試,運(yùn)維人員可在監(jiān)控端直接查看多臺(tái)服務(wù)器的各類關(guān)鍵信息及運(yùn)行狀態(tài)。

        關(guān)鍵詞:python;psutil;套接字;Tkinter

        中圖分類號(hào):TP311.1文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2021)02-56-4

        0引言

        在網(wǎng)絡(luò)運(yùn)維工作中,運(yùn)維人員常需查看服務(wù)器主機(jī)的運(yùn)行狀態(tài),由于空間分散及應(yīng)用服務(wù)器類目眾多,需在維護(hù)終端上配置主機(jī)監(jiān)控軟件以達(dá)到查看服務(wù)器主機(jī)運(yùn)行狀態(tài)的目的。市面上的主機(jī)監(jiān)控軟件種類繁多,良莠不齊,相當(dāng)一部分被開發(fā)人員留有后門,植入廣告或者木馬等,影響服務(wù)器正常工作、危害信息安全。python是一種跨平臺(tái)、面向?qū)ο蟮慕忉屝途幊陶Z言,具有語法簡潔、形態(tài)豐富、多語言集成三大特點(diǎn),有豐富的第三方庫,是當(dāng)前非常流行的編程語言[1]。本文從客戶端及服務(wù)端不同需求入手,研究了基于python的信息獲取及網(wǎng)絡(luò)通信過程,實(shí)現(xiàn)了根據(jù)用戶需求實(shí)時(shí)獲取目標(biāo)服務(wù)器(主機(jī))的基本信息、CPU和內(nèi)存使用情況、進(jìn)程信息、網(wǎng)絡(luò)配置以及網(wǎng)絡(luò)連接詳情等關(guān)鍵信息。

        1軟件系統(tǒng)結(jié)構(gòu)

        1.1軟件整體功能設(shè)計(jì)

        目標(biāo)服務(wù)器上安裝客戶端軟件,負(fù)責(zé)采集本主機(jī)的狀態(tài)信息,在維護(hù)終端上安裝負(fù)責(zé)接收及顯示信息的服務(wù)端軟件,可以根據(jù)需求接收每臺(tái)服務(wù)器的狀態(tài)信息,并予以顯示,如圖1所示。

        客戶端程序負(fù)責(zé)采集目標(biāo)服務(wù)器主機(jī)的信息有CPU信息、硬盤信息、內(nèi)存信息、進(jìn)程詳情、網(wǎng)絡(luò)配置信息、網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)信息及網(wǎng)絡(luò)連接信息等。服務(wù)端程序根據(jù)用戶需求向客戶端發(fā)送指令,然后接收客戶端發(fā)送的運(yùn)行信息,并將信息展現(xiàn)給用戶。

        考慮到服務(wù)器承載著重要程序的運(yùn)行,客戶端程序采取指令式采集,即收到指令、采集信息、反饋信息,以避免占用過多資源影響服務(wù)器的性能??蛻舳撕头?wù)端使用基于UDP的socket套接字收發(fā)主機(jī)信息和指令,由于UDP套接字用于無連接、不可靠的數(shù)據(jù)傳輸服務(wù),具有較高的數(shù)據(jù)傳輸效率,在局域網(wǎng)中小批量數(shù)據(jù)傳輸尤為適用[2]。軟件整體框圖如圖2所示。

        1.2客戶端功能設(shè)計(jì)

        客戶端程序運(yùn)行后先建立UDP套接字,然后等待接收指令,根據(jù)接收的指令調(diào)用不同的信息采集模塊,將采集到的信息發(fā)送至服務(wù)端,發(fā)送完畢后等待接收指令??蛻舳顺绦騿?dòng)后,獲取的主機(jī)信息發(fā)送給服務(wù)端程序,不需要在本地顯示,因此客戶端程序不需要GUI設(shè)計(jì)。客戶端工作流程如圖3所示。鑒于UDP提供無連接的傳輸服務(wù)和只在收發(fā)數(shù)據(jù)時(shí)才占用端口的特性[3],設(shè)定默認(rèn)的端口號(hào),運(yùn)維人員可根據(jù)實(shí)際情況選擇更改端口號(hào)。

        1.3服務(wù)端功能設(shè)計(jì)

        運(yùn)維人員在服務(wù)端程序上設(shè)定客戶端主機(jī)的IP地址和端口號(hào)并存儲(chǔ)在數(shù)據(jù)庫中,每次監(jiān)控客戶機(jī)時(shí)只需選擇相應(yīng)IP地址和端口即可,亦可手動(dòng)添加。根據(jù)用戶需求發(fā)送指令到客戶端,收到客戶端反饋的信息后再顯示在GUI上,同時(shí)信息將被存儲(chǔ)在SQLite數(shù)據(jù)庫中,以供查詢使用。服務(wù)端工作流程如圖4所示,服務(wù)端需要與用戶直接交互,因此需要GUI設(shè)計(jì)。

        1.4 socket通信設(shè)計(jì)

        當(dāng)客戶端和服務(wù)端通信時(shí),服務(wù)端程序發(fā)送指令使用系統(tǒng)自動(dòng)分配的動(dòng)態(tài)端口號(hào)作為源端口號(hào)、指定端口作為目的端口號(hào),發(fā)送完成后監(jiān)聽動(dòng)態(tài)端口等待接收,直到收到客戶端程序發(fā)來相應(yīng)的數(shù)據(jù)包后,停止監(jiān)聽并關(guān)閉socket。客戶端程序需要隨時(shí)接收服務(wù)端的指令,因此要保持監(jiān)聽端口的狀態(tài)。socket通信示意如圖5示。

        2軟件功能的實(shí)現(xiàn)

        2.1文件結(jié)構(gòu)

        軟件的文件組織結(jié)構(gòu)如圖6示??蛻舳宋募?,Client.py負(fù)責(zé)接收客戶端的指令,根據(jù)指令調(diào)用Get_class.py中的Get_Info類的方法獲取信息,再將返回的信息發(fā)給服務(wù)端程序。

        国产一区二区三区啪| 无码中文亚洲av影音先锋| 99久久综合精品五月天| 91香蕉视频网| 一区二区三区四区日韩亚洲| 极品粉嫩小仙女高潮喷水操av| 少妇被粗大的猛烈进出69影院一 | 国产一级毛片卡| 亚洲视频中文字幕更新| 日韩人妻精品中文字幕专区| 中文字幕久久久人妻无码| 国产视频毛片| 国产精品三级1区2区3区| 日韩三级一区二区三区| 久久精品免费一区二区三区| 亚洲精品有码在线观看| 日本在线一区二区三区四区| 在线视频观看国产色网| 少妇性饥渴bbbbb搡bbbb| 国产精品久久久久尤物| 精品中文字幕久久久人妻| 成人欧美一区二区三区黑人| 青青草原综合久久大伊人| 国产av一区二区三区丝袜| 男女互舔动态视频在线观看| 免费人成年激情视频在线观看 | 亚洲一级电影在线观看| 天堂av国产一区二区熟女人妻| 国产欧美日韩va另类在线播放 | 亚洲亚洲网站三级片在线| 久久精品一区二区三区夜夜| 一本色道无码不卡在线观看| 一本大道无码av天堂| 亚洲图片第二页| 青青草在线免费播放视频| 亚洲人成人网站在线观看| 免费毛片性天堂| 亚洲一区中文字幕视频| 丰满的人妻hd高清日本| 日韩国产欧美视频| 日韩av他人妻中文字幕|