999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python 的服務(wù)器運(yùn)維可視化研究與應(yīng)用

2021-01-29 07:37:34吳文哲
科技與創(chuàng)新 2021年2期
關(guān)鍵詞:進(jìn)程可視化程序

吳文哲

(遼河油田信息工程公司智能技術(shù)中心,遼寧 盤錦 124010)

公司中心機(jī)房是遼河油田眾多信息系統(tǒng)的大腦和中樞,在日常運(yùn)維巡檢時(shí),服務(wù)器運(yùn)維人員和信息系統(tǒng)管理員需要查看服務(wù)器各項(xiàng)硬件資源使用情況和應(yīng)用服務(wù)的運(yùn)行狀態(tài),要對(duì)各個(gè)服務(wù)器分別登錄、逐個(gè)巡檢。這項(xiàng)工作有3 個(gè)方面的問(wèn)題:①手動(dòng)操作煩瑣耗時(shí)、運(yùn)維效率低,無(wú)法直觀地發(fā)現(xiàn)問(wèn)題;②有時(shí)疏忽大意會(huì)造成漏檢,有時(shí)操作失誤會(huì)導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)行;③對(duì)于突發(fā)情況,尤其是夜間發(fā)生的故障,無(wú)法第一時(shí)間了解并處理。

為了解決以上問(wèn)題,需要有系統(tǒng)全天不間斷自動(dòng)監(jiān)控服務(wù)器,對(duì)資源緊張的情況提出預(yù)警、告警,突發(fā)故障時(shí)能及時(shí)通知到系統(tǒng)管理員和運(yùn)維人員,使應(yīng)用程序和服務(wù)有一定的自我恢復(fù)能力。

1 主要研究?jī)?nèi)容

為了實(shí)現(xiàn)對(duì)服務(wù)器全天候不間斷自動(dòng)監(jiān)控,資源緊張時(shí)發(fā)出主動(dòng)預(yù)警,并希望服務(wù)器有一定的自我恢復(fù)能力,需要研究以下三方面內(nèi)容。

1.1 實(shí)時(shí)獲取服務(wù)器硬件資源和軟件運(yùn)行狀態(tài)

針對(duì)不同操作系統(tǒng),使用跨平臺(tái)能力強(qiáng)的探針程序,利用操作系統(tǒng)提供的自動(dòng)執(zhí)行功能,不間斷采集跟服務(wù)器運(yùn)行相關(guān)的CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)、端口、進(jìn)程等關(guān)鍵敏感信息,實(shí)時(shí)上傳至數(shù)據(jù)采集數(shù)據(jù)庫(kù)。

1.2 通過(guò)圖形化的界面,實(shí)時(shí)分析和判斷運(yùn)行狀態(tài)是否正常

根據(jù)初始信息配置數(shù)據(jù)源后,數(shù)據(jù)庫(kù)中的數(shù)據(jù)表記錄就可以被數(shù)據(jù)可視化系統(tǒng)調(diào)用了。該階段首先進(jìn)行數(shù)據(jù)的投影和清洗,用戶查詢自己關(guān)注的數(shù)據(jù)項(xiàng),如果查詢成功,系統(tǒng)返回查詢結(jié)果,否則返回錯(cuò)誤異常。通過(guò)選擇模型元素來(lái)建立數(shù)據(jù)模型,包括如折線圖、餅圖、柱形圖等模型樣式,顏色、視圖名稱,同時(shí)上層的展現(xiàn)功能調(diào)用被視圖庫(kù)添加好的模型。

使用可視化展示模式對(duì)采集入庫(kù)的數(shù)據(jù)進(jìn)行展示的同時(shí),根據(jù)提前設(shè)置好的報(bào)警參數(shù),判斷當(dāng)前服務(wù)器各項(xiàng)關(guān)鍵信息是否超過(guò)閾值,如果超出閾值,則使用郵件方式通知運(yùn)維人員。

1.3 發(fā)現(xiàn)異常情況的自動(dòng)處理

對(duì)于報(bào)異常的用戶進(jìn)程,重啟該異常進(jìn)程;對(duì)于占用資源非常嚴(yán)重的非系統(tǒng)進(jìn)程,自動(dòng)關(guān)閉該進(jìn)程。服務(wù)器上的主要應(yīng)用程序,在服務(wù)器負(fù)載相對(duì)較低時(shí),使用腳本程序使其重啟。

2 技術(shù)方案

本課題的設(shè)計(jì)思路是通過(guò)Python 編程,使用目標(biāo)服務(wù)器操作系統(tǒng)的自動(dòng)執(zhí)行功能運(yùn)行探針程序,通過(guò)“推”模式實(shí)時(shí)將目標(biāo)服務(wù)器的CPU、內(nèi)存、網(wǎng)卡和硬盤等硬件資源的使用情況、本地端口、進(jìn)程和應(yīng)用服務(wù)的運(yùn)行狀態(tài)推送至服務(wù)端程序,服務(wù)端程序部署在一臺(tái)安裝有雙網(wǎng)卡的服務(wù)器上,實(shí)現(xiàn)服務(wù)端程序跨網(wǎng)段運(yùn)行;運(yùn)維人員使用瀏覽器通過(guò)圖形化界面監(jiān)控目標(biāo)服務(wù)器各項(xiàng)指標(biāo)的運(yùn)行情況,頁(yè)面定時(shí)自動(dòng)刷新數(shù)據(jù);探針程序判斷目標(biāo)服務(wù)器資源占用異常時(shí),將異常信息記錄到日志文件,服務(wù)端程序發(fā)現(xiàn)目標(biāo)機(jī)在指定時(shí)間間隔沒(méi)有通信,也將記錄異常信息,以上異常信息將以預(yù)警或告警郵件的形式發(fā)送給系統(tǒng)管理員;本地用戶的進(jìn)程可以自動(dòng)重啟。監(jiān)控系統(tǒng)的參數(shù),比如硬件資源的預(yù)警和告警閾值、進(jìn)程或應(yīng)用服務(wù)的路徑、可視化界面的刷新時(shí)間、郵箱地址、字體大小等都可以通過(guò)配置文件修改。整個(gè)過(guò)程實(shí)時(shí)監(jiān)測(cè),程序全天不間斷運(yùn)行。

本課題研究的開(kāi)發(fā)語(yǔ)言是Python,使用了psutil、glances、pymysql、sqlalchemy、pandas、flask、pyecharts、flask_bootstrap 等多個(gè)第三方模塊,數(shù)據(jù)庫(kù)使用開(kāi)源的MySQL,網(wǎng)站搭建采用瀏覽器/服務(wù)器模式,使用HTML5、Bootstrap css 和jQuery 等前端技術(shù)實(shí)現(xiàn)網(wǎng)頁(yè)展示,利用flask框架實(shí)現(xiàn)后臺(tái)處理,使用pyecharts 將采集到的服務(wù)器系統(tǒng)信息可視化,使用uwsgi 和nginx 分別作為Web 服務(wù)器和反向代理服務(wù)器。

Python 崇尚優(yōu)美、清晰、簡(jiǎn)單,是一個(gè)優(yōu)秀并廣泛使用的語(yǔ)言,廣泛應(yīng)用于人工智能、運(yùn)維自動(dòng)化、操作系統(tǒng)管理、Web 應(yīng)用開(kāi)發(fā)、網(wǎng)絡(luò)爬蟲(chóng)、科學(xué)計(jì)算、計(jì)算機(jī)視覺(jué)、深度學(xué)習(xí)、區(qū)塊鏈開(kāi)發(fā)、桌面軟件、服務(wù)器軟件等。

psutil 是一個(gè)Python 模塊用來(lái)獲取正在運(yùn)行的進(jìn)程信息和系統(tǒng)的CPU 和內(nèi)存的利用率,它不僅可以通過(guò)一兩行代碼實(shí)現(xiàn)系統(tǒng)監(jiān)控,還可以跨平臺(tái)使用,支持Linux/Windows/Sun Solaris/OSX/FreeBSD/OpenBSD/NetBSD/AIX 等,是系統(tǒng)管理員和運(yùn)維小伙伴不可或缺的必備模塊。

flask 是Python 開(kāi)發(fā)的一個(gè)輕量級(jí)的Web 框架。Pyecharts是一個(gè)用于生成ECharts 圖表的類庫(kù)。因?yàn)橛肊Charts 生成的圖可視化效果非常棒,為了方便與Python 對(duì)接、在Python中直接使用數(shù)據(jù)生成圖表,所以產(chǎn)生了pyecharts。

3 主要技術(shù)創(chuàng)新

本課題主要科技創(chuàng)新體現(xiàn)在以下幾方面。

3.1 程序移植能力強(qiáng)

系統(tǒng)使用glances 模塊獲取目標(biāo)服務(wù)器的CPU、內(nèi)存、網(wǎng)卡、硬盤和端口的狀態(tài)信息;使用psutil 模塊獲取進(jìn)程和應(yīng)用服務(wù)信息;使用email 模塊創(chuàng)建一個(gè)包含主題和具體內(nèi)容的報(bào)警郵件,再使用smtp 模塊設(shè)置郵箱的發(fā)送地址和接收地址;可視化展示功能主要使用flask、pandas 和pyecharts模塊,使用flask 構(gòu)建Web 框架,使用pandas 統(tǒng)計(jì)分析采集來(lái)的數(shù)據(jù),使用pyecharts 實(shí)現(xiàn)前端可視化效果。

綜上所述,無(wú)論是目標(biāo)機(jī)上運(yùn)行的客戶端探針程序,還是服務(wù)端負(fù)責(zé)展示的可視化后端程序,基于跨平臺(tái)能力強(qiáng)的Python 語(yǔ)言開(kāi)發(fā),使得監(jiān)控服務(wù)器硬件資源、預(yù)警告警和可視化展示可以不受操作系統(tǒng)的影響,可移植能力大大增強(qiáng)。業(yè)界知名的老牌開(kāi)源監(jiān)控系統(tǒng)Zabbix,其server 端無(wú)法安裝在Windows 系統(tǒng)上,移植能力有限。

3.2 多種樣式風(fēng)格的可視化展示

對(duì)于CPU 和內(nèi)存、交換內(nèi)存,使用餅圖可以分別展示(按照刷新頻率)最近10 次的CPU 和內(nèi)存占用率,使用帶標(biāo)記的折線圖展示最近n次(時(shí)間范圍可調(diào))的占用率走勢(shì),如圖1 所示。

對(duì)于硬盤空間,使用柱形圖顯示硬盤總?cè)萘看笮。褂枚询B柱形圖的不同顏色區(qū)分已使用和未使用的硬盤容量,如圖2 所示。

對(duì)于網(wǎng)卡,按照采集間隔,使用折線圖展示瞬時(shí)流入流量和流出流量,直觀展示網(wǎng)絡(luò)流量隨時(shí)間的變化趨勢(shì),如圖3 所示。

開(kāi)源監(jiān)控系統(tǒng)Zabbix 可視化圖形展示功能較為單一,缺乏儀表盤、柱狀圖、餅圖等圖形支撐;nagios 沒(méi)有數(shù)據(jù)展示功能,只關(guān)心報(bào)警功能;MRTG 側(cè)重網(wǎng)絡(luò)監(jiān)控,主要功能是收集歷史數(shù)據(jù)和展示,圖形化能力差;Tsar 只能使用命令行形式,沒(méi)有圖形化界面。

圖1 負(fù)載占用情況

圖2 硬盤使用情況

圖3 網(wǎng)卡流量情況

3.3 具備簡(jiǎn)單的自我修復(fù)能力

CPU、內(nèi)存和磁盤的使用率設(shè)有一個(gè)預(yù)警值和一個(gè)告警值,具體每個(gè)硬件的預(yù)警值和告警值可以在配置文件中指定。根據(jù)提前設(shè)置好的報(bào)警參數(shù),判斷當(dāng)前服務(wù)器各項(xiàng)關(guān)鍵信息是否超過(guò)閾值,如果超出閾值,則使用郵件等方式通知運(yùn)維人員。

在探針程序的配置文件中寫(xiě)入目標(biāo)服務(wù)器需要被監(jiān)控進(jìn)程的絕對(duì)路徑,如果該進(jìn)程異常,則會(huì)通過(guò)os 模塊自動(dòng)重啟。對(duì)于報(bào)異常的用戶進(jìn)程,重啟該異常進(jìn)程;對(duì)于占用資源非常嚴(yán)重的非系統(tǒng)進(jìn)程,自動(dòng)關(guān)閉該進(jìn)程。服務(wù)器上的主要應(yīng)用程序,在服務(wù)器負(fù)載相對(duì)較低時(shí),使用腳本程序使其重啟。

4 應(yīng)用情況

本課題基于瀏覽器/服務(wù)器模式,使用基于Python 的flask 框架技術(shù),使用HTML5、JavaScript 和CSS 等前端技術(shù),通過(guò)異步請(qǐng)求實(shí)現(xiàn)無(wú)刷新定時(shí)更新頁(yè)面數(shù)據(jù)。通過(guò)傳輸層TCP 協(xié)議與應(yīng)用層HTTPS 協(xié)議傳輸數(shù)據(jù),保證數(shù)據(jù)完整性和安全性。使用MySQL 數(shù)據(jù)庫(kù)管理數(shù)據(jù),瀏覽器通過(guò)發(fā)送HTTPS 請(qǐng)求、接收J(rèn)SON 格式的返回?cái)?shù)據(jù)。主要實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)及管理、可視化展示3 個(gè)功能模塊。

數(shù)據(jù)采集:包括實(shí)時(shí)數(shù)據(jù)和非實(shí)時(shí)數(shù)據(jù)兩種。非實(shí)時(shí)數(shù)據(jù)包括服務(wù)器基本配置信息、操作系統(tǒng)版本、系統(tǒng)啟動(dòng)時(shí)間等。實(shí)時(shí)數(shù)據(jù)包括服務(wù)器主要負(fù)載指標(biāo)、硬盤使用情況、網(wǎng)卡實(shí)時(shí)流量、系統(tǒng)運(yùn)行時(shí)長(zhǎng)、端口使用和進(jìn)程分配的情況。

數(shù)據(jù)存儲(chǔ)及管理:通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)將采集到的結(jié)構(gòu)化數(shù)據(jù)整合為業(yè)務(wù)數(shù)據(jù)。

可視化展示:包括服務(wù)器硬件資源使用情況、系統(tǒng)端口使用列表和進(jìn)程分配列表等數(shù)據(jù)的多種模型可視化展示。

本課題已經(jīng)在車輛監(jiān)控平臺(tái)相關(guān)的15 臺(tái)服務(wù)器上研究部署并成功應(yīng)用,如圖4 所示,實(shí)現(xiàn)了對(duì)服務(wù)器、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、中間件和應(yīng)用系統(tǒng)等要素的監(jiān)控和統(tǒng)一管理,具有分布式、全覆蓋、自動(dòng)化和安全可靠等特點(diǎn)。本課題支持從業(yè)務(wù)視角排查并定位故障,讓系統(tǒng)運(yùn)維人員能夠及時(shí)定位并解決系統(tǒng)運(yùn)行問(wèn)題,提升運(yùn)維質(zhì)量和效率,降低運(yùn)維難度和風(fēng)險(xiǎn),具有良好的推廣前景。在今后的工作中,還需要進(jìn)一步完善系統(tǒng)日志深化分析和報(bào)警體系(如微信、短信推送等)建設(shè),使之成為更加全面、高效、智能的自動(dòng)化監(jiān)控運(yùn)維平臺(tái)。

圖4 首頁(yè)

猜你喜歡
進(jìn)程可視化程序
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
社會(huì)進(jìn)程中的新聞學(xué)探尋
主站蜘蛛池模板: 国产精品福利尤物youwu| 亚洲清纯自偷自拍另类专区| 91娇喘视频| a毛片免费观看| 无码专区在线观看| 亚洲无码精品在线播放| 亚洲天堂.com| 秋霞一区二区三区| 欧美日韩国产一级| 久久精品亚洲热综合一区二区| 四虎精品国产AV二区| 热久久综合这里只有精品电影| 青青青国产免费线在| 欧美精品v欧洲精品| 成年片色大黄全免费网站久久| 无码电影在线观看| 婷婷综合缴情亚洲五月伊| 国产你懂得| 国产剧情一区二区| 国产午夜不卡| 国产精品亚洲αv天堂无码| 成人午夜天| 老司机精品一区在线视频| 亚洲水蜜桃久久综合网站| 亚洲成网站| 亚洲综合精品香蕉久久网| 狠狠ⅴ日韩v欧美v天堂| 中国特黄美女一级视频| 免费国产一级 片内射老| 亚洲国产精品不卡在线| 99久视频| 国产精品视频猛进猛出| 午夜精品区| 国产亚洲欧美在线视频| 日韩午夜福利在线观看| 91精品专区国产盗摄| 精品欧美一区二区三区在线| 亚洲成人在线网| 免费三A级毛片视频| 亚洲愉拍一区二区精品| 亚洲成肉网| 制服丝袜在线视频香蕉| 亚洲无码精彩视频在线观看| 欧美爱爱网| 日韩成人免费网站| 国产精品成人AⅤ在线一二三四| 91精品国产自产91精品资源| 幺女国产一级毛片| 久久精品娱乐亚洲领先| 亚洲精品成人7777在线观看| 日韩av手机在线| 在线观看国产精品第一区免费| 超碰色了色| 污污网站在线观看| m男亚洲一区中文字幕| 色综合日本| 亚洲欧美不卡| 国产精品制服| 日韩在线永久免费播放| 99久久成人国产精品免费| 国产精品入口麻豆| 男女男精品视频| 免费av一区二区三区在线| 国产成人高清精品免费5388| 日本人又色又爽的视频| 中文字幕在线欧美| 久久先锋资源| a级毛片免费播放| 99re在线视频观看| 伊人91视频| 欧美一区二区福利视频| 日韩一区二区三免费高清| 91精品久久久无码中文字幕vr| 国产在线观看高清不卡| 亚洲天堂久久| 亚洲综合九九| AV天堂资源福利在线观看| 亚洲视频在线观看免费视频| 国产精品亚洲片在线va| 国产在线一区视频| 91亚瑟视频| 亚洲欧美成aⅴ人在线观看|