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

基于Powershell進行服務器遠程監控的MVC5網站研究

2020-04-14 04:54:29符明
電腦知識與技術 2020年4期
關鍵詞:頁面計算機信息

符明

摘要:隨著學校的信息化建設的逐步推進,各類服務器和網絡系統規模不斷增大,對服務器的運行維護也愈發重要。該文通過將Powershell命令運用到NET MVC 5架構網站中,來實現一種遠程服務器無須安裝額外軟件即可進行服務器遠程監 控的方法。

關鍵詞:PowerShell;遠程;MVC 5;Visual Basic

中圖分類號:TP393

文獻標識碼:A

文章編號:1009-3044(2020)04-0007-02

收稿日期:2019-12-05

隨著信息化建設的快速發展,各類應用系統以及網絡系統的規模不斷加大,各種操作系統、數據庫、應用軟件、中間件的數量和類型也不斷增多,IT信息系統越來越復雜,學校逐漸意 識到IT運維監控的重要性。

1 Powershell的簡單介紹

PowerShell是構建于.NET上基于任務的命令行shell和腳本語言。PowerSheU可幫助系統管理員和高級用戶快速自動執行用于管理操作系統(Linux、macOS和Windows)和流程的任務。

一個校園局域網內部有若干WEB.SQL服務器,利用Invoke-Command命令,在執行命令后不保持連接,遠程主機上的Power Shell進程立即退岀。通過在命令后面添加腳本塊,執行后將其推送到目標主機上,然后從目標主機返回結果。

Windows PowerShell遠程管理使用WS-Management協議,Windows PowerShell遠程處理可以在一臺或多臺遠程計算機上運行任何Windows PowerShell命令。用戶可以建立持久連接、啟動交互會話并在遠程計算機上運行腳本。Invoke-Command可在本地和遠程計算機運行,返回包括錯誤在內的所有信息。

2MVC5的簡單介紹

ASP.NET MVC 5是Microsoft開發的一種網站應用程序框架,是使用“模型Model-視圖View-控制器Controller”設計模式構建Web應用和API的豐富框架。模型Model表示應用程序特定方面的狀態。控制器Controller處理交互并更新模型以反映應用程序狀態的更改,然后將信息傳遞給視圖Viewo視圖View接受來自控制器Controller的必要信息,并呈現用戶界面以顯示該信息。

3?以獲得服務器CPU負載為例的實現

頁面前端釆用JQuery的setlnterval()與$普.getJSON()方法。以10秒為間隔,不刷新頁面獲得所需參數。

3.1 前端HTML的JavaScript

$(document).ready(function (){

setlnterval(function (){

$ .getJSON(“home/cpuload? ip=yourServerIP&usemame=administrator&password=yourpassword

",function (data){

$("#cpuloading").text(data.cpuloading);

});

},10000)

})

其中:

1)setlnterval(code,millisec[,”lang”])方法可按照指定的周期(以毫秒計)來調用函數或計算表達式。setlnterval()方法會不停地調用函數,直到clearlnterval()被調用或窗口被關閉。

2)jQuery.getJSON(url,data,success(data,status,xhr))通過HTTP GET請求載入JSON數據。

3.2?前端 HTML

DIV標簽中的文本直接由Javascript讀取Json數據包不刷新頁面寫入。

3.3?后端MVC Control控制器

代碼釆用Visual Basic.NET調用系統PowerShell進行遠程控制。網站必須首先調用PowerShell模塊,才能在項目中運行 PowerShell命令。在代碼上中首先調用如下DLL:

Imports System.Collections.ObjectModel

Imports System.Management.Automation

Imports System.Management.Automation.Runspaces

Function CPULoad(ByVal ip As String,ByVai username As String,ByVai password As String)As JsonResult

'Your Codes Here

Return Json(New With {.cpuloading=cpuLoading),JsonRequestBehavior.AllowGet)

End Function

代碼將返回Json數據包給前端頁面JavaScript顯示。

3.4 遠程獲得Windows和Ubuntu服務器CPU負載信息

3.4.1 創建PowerShell遠程登錄Windows 2016憑證

遠程服務器操作系統為Windows 2016,原生PowerShell版 本為5.1。

Dim SecuredPass=New SecureString

For Each c As Char In password

SecuredPass.AppendChar(c)

Next

Dim Credential As PSCredential=New PSCredential(user-name,SecuredPass)

3.4.2 PowerShell 中 Get-WmiObject-Class Win32_Proces-sorlselect LoadPercentage 獲得 Windows 2016 服務器 CPU信息

PowerShell 中利用 Invoke-Command [[-ComputerName] < String[] >] [-Credential ] [-ScriptBlock] 執行遠程命令o

完成功能代碼如下:

Dim setRemoteRights=True

Dim psi As PowerShell

Dim initial As InitialSessionState=InitialSessionState.Creat-eDefault()

Dim runspace As Runspace 二 RunspaceFactory.CreateRuns-pace(initial)

runspace.Open()

psi=PowerShell .Create

psi.Runspace=runspace

Dim SecuredPass=New SecureString

For Each c As Char In password

SecuredPass.AppendChar(c)

Next

Dim Credential As PSCredential=New PSCredential(user-name,SecuredPass)

myScript="Get-WmiObject-Class Win32_Processorlselect LoadPercentage "

psi.AddStatement。

psi.AddCommand(" Invoke—C ommand ")

psi.AddParameter("ComputerName",ip)

Dim block As ScriptBlock=ScriptBlock.Create(myScript)

psi.AddParameter('*ScriptBlock'*,block)

psi.AddParameter("Authentication","Negotiate")psi.AddParameter("Credential",Credential)

Dim myResult As Collection(Of PSObject)=psi.Invoke

Dim cpuLoading=myResult.FirstQ.Members(" LoadPercentage").Value

runspace.CloseQ runspace.Dispose。

3.4.3 PowerShell 利用 POSH-SSH 執行 Bash 命令獲得 Ubuntu 18.04服務器CPU信息

直到PowerShell 6.0,Microsoft才支持在Linux中直接運行 PowerShell命令。PowerShell 5.1 則需要安裝第三方POSH-SSH 模塊,通過SSH協議在遠程Linux執行Bash命令,以獲得服務器

CPU負載信息。Ubuntu服務器需要安裝SSH Server服務。

POSH-SSH 中使用 New-SSHSession [-ComputerName] < string[]〉[-Credential] [-Force]建立遠程連接進 程;用 Invoke—SSHCommand [―Sessionld] [—Command] < string>在遠程進程中運行Bash命令,并獲得返回信息。Ubuntu 使用Bash命令:top-bnllgrep,Cpu(s),獲得CPU負載,然后正則 取出想要的信息。

1)配置本地訪問權限,調用第三方POSH-SSH模塊

Dim scriptinvoker As Runspacelnvoke=New Runspaceln-voke(runspace)

scriptinvoker.Invoke("Set—ExecutionPolicy —Scope Curren-

tUser Unrestricted")

psi.AddCommand("Import—Module")

psi.AddParameter(”Name”,"Posh-SSH")

2)完整功能代碼如下:

Dim mybash As String=String.Empty

Dim setRemoteRights=True

Dim psi As PowerShell

Dim initial As InitialSessionState=InitialSessionState.Creat-eDefault()

Dim runspace As Runspace=RunspaceFactory.CreateRuns-pace(initial)

runspace.OpenQ

Dim scriptinvoker As Runspacelnvoke=New Runspaceln-voke(runspace)

scriptinvoker.Invoke("Set—ExecutionPolicy —Scope Curren-tUser Unrestricted")

psi=PowerShell.Create

psi.Runspace=runspace

Dim SecuredPass=New SecureString

For Each c As Char In password

SecuredPass.AppendChar(c)

Next

Dim Credential As PSCredential=New PSCredential(username,SecuredPass)

psi.AddStatementQ psi.AddCommand("Import—Module")psi.AddParameter(”Name”,"Posh-SSH")psi.AddStatement()psi.AddCommand("New-SSHSession")psi.AddParameterC'ComputerName",ip)psi.AddParameter(' * Credential'',Credential)psi.AddParameter("Force")psi.AddStatement()

psi.AddC ommand("Invoke—SSHC ommand ")

psi.AddParameter("SessionId",0)psi.AddParameter("Command","top-bnllgrep,Cpu(s)/")Dim myResult As Collection(Of PSObject)=psi.Invoke Dim cpuloding As StringQ=myResult.Last().Members("Out-put").Value

Dim cpuload As String=cpuloding(O)

Dim match As Match=Regex.Match(cpuload,"\d*\.\d",Re-gexOptions.IgnoreCase)

Dim outcpuload=match.Groups(0).Value

runspace.CloseQ

runspace.Dispose。

4 研究結論

方法優點:MVC網頁服務器通過運行不同的Powershell和Bash命令就能對遠程計算機(Windows、Linux、MacOS)進行遠程監控。在強大的Jquery第三方圖像控件的支持下,可以圖形化數據,使得遠程服務器無須安裝額外軟件即可被監控。

方法缺點:無法實時監控遠程計算機信息。遠程計算機的信息是通過PowerShell對遠程計算機執行命令所獲取。通過對虛擬機的觀察,當對遠程計算機命令執行設置刷新時間為1秒時,則遠程服務器CPU負載將直接上升20%-30%,這個后果是不合適的。因此設置一個適當的命令刷新速度是必要的。

發展方向:Microsoft公司已把PowerShell6.0開源,促使應用能跨平臺使用。今后PowerShell將可以在Windows,Linux,MacOS服務器中發揮更大的作用。

參考文獻:

[1] DonJones,JefferyHick.WindowsPowerShell實戰指南[M].宋沃劍,譯.北京:人民郵電出版社,2016.

[2] 朱育發.jQuery與jQueryMobile開發完全技術寶典[M].北京:中國鐵道出版社,2014.

[3] AdamFreeman.精通ASP.NETMVC5[M].北京:人民郵電出版社,2016.

[通聯編輯:謝媛媛]

猜你喜歡
頁面計算機信息
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
計算機操作系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
Fresnel衍射的計算機模擬演示
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 日本影院一区| 国产视频自拍一区| 亚洲天堂.com| 亚洲第一在线播放| 亚洲综合精品香蕉久久网| 狠狠综合久久| 亚洲男人的天堂在线| 免费国产黄线在线观看| 精品国产自在现线看久久| 一级毛片免费观看久| 欧美视频在线第一页| 久久精品视频亚洲| 久久国产精品电影| 中文字幕 欧美日韩| 欧美综合成人| 特级做a爰片毛片免费69| 国产SUV精品一区二区6| 亚洲日韩第九十九页| 久久综合丝袜长腿丝袜| 欧美成在线视频| 黄片一区二区三区| 伊人无码视屏| 国产无码精品在线播放| 熟妇人妻无乱码中文字幕真矢织江| 国产成人h在线观看网站站| 国产又粗又爽视频| 欧美无遮挡国产欧美另类| 日韩乱码免费一区二区三区| 综合色婷婷| 夜夜爽免费视频| 国内精品视频在线| 伦精品一区二区三区视频| 五月天丁香婷婷综合久久| 在线播放91| 亚洲天堂网在线观看视频| 久久综合婷婷| 四虎影视无码永久免费观看| 无码精油按摩潮喷在线播放| 欧美专区日韩专区| 亚洲中文在线视频| 狂欢视频在线观看不卡| 亚洲h视频在线| 欧美不卡二区| 免费国产一级 片内射老| 国产jizzjizz视频| 欧美区一区| 日韩无码视频播放| 91在线激情在线观看| 成人精品视频一区二区在线 | 国产精品久久国产精麻豆99网站| 日韩福利在线视频| av在线5g无码天天| 久久www视频| 国产成人资源| 国产亚洲高清视频| 小说区 亚洲 自拍 另类| 国产亚洲精品97AA片在线播放| 白浆免费视频国产精品视频| 亚洲精品成人片在线播放| 亚洲成a人在线观看| 亚洲狼网站狼狼鲁亚洲下载| 欧美一级在线播放| 国产第八页| 成人av手机在线观看| 91精品专区| 日韩天堂网| 日韩第九页| 国产精品网曝门免费视频| 伊人色婷婷| 91精品国产91久久久久久三级| 欧洲av毛片| 特级aaaaaaaaa毛片免费视频 | 国产欧美日韩一区二区视频在线| 国产99视频精品免费视频7| 精品国产成人a在线观看| 亚洲欧洲美色一区二区三区| 久久综合婷婷| 成人午夜网址| 色哟哟国产成人精品| 欧美日韩动态图| 香蕉视频在线精品| 国产原创自拍不卡第一页|