亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PowerShell > 正文

如何利用PowerShell監控Win-Server性能詳解

2020-03-26 18:52:06
字體:
來源:轉載
供稿:網友

前言

Q:如何系統層面的去監控一下Windows Server?

A:額……一時間的話……能想到的可能也就是PowerShell+SQL Server+job,試試。

本文就給大家介紹了關于利用PowerShell監控Win-Server性能的相關內容,下面話不多說了,來一起看看詳細的介紹吧

一、關于PowerShell

1、什么是PowerShell

  表層面的翻譯:強大的Shell。

  強大?

  如果是從知名度和用戶的使用量來談的話,PowerShell相較當下流行的一些面向對象的語言來說應該是遜色太多太多了,但是,作為一款系統內置的腳本語言,和Linux里的Shell一樣,說其強大當然是不容置喙的。

  Windows PowerShell 是一種命令行外殼程序和腳本環境,是運行在windows機器上實現系統和應用程序管理自動化的命令行腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework的強大功能。你可以把它看成是命令行提示符cmd.exe的擴充,不對,應當是顛覆。 powershell需要.NET環境的支持,同時支持.NET對象。微軟之所以將Powershell 定位為Power,并不是夸大其詞,因為它完全支持對象。其可讀性,易用性,可以位居當前所有shell之首。

2、如何打開PowerShell

  1)Win鍵+R,輸入cmd,然后cmd會話框里再輸入powershell

  2)Win鍵+R,輸入powershell,即來到其會話框

  3)或是直接找到Windows PowerShell程序打開

3、學習PowerShell

  一開始接觸到PowerShell的時候,也是有一些懵圈的,但多少也還是和DOS、Shell命令有些相似之處,習慣就好。

  推薦學習網站:http://www.pstips.net/powershell-online-tutorials/

二、PowerShell腳本的編寫與執行

1、編寫腳本(.psl擴展名的腳本文件)

  1)對于簡單的小腳本編寫,可以通過echo命令重定向進文件,或是將腳本文件通過@‘ '@閉合起來

PS E:/> echo "Hello China"Hello ChinaPS E:/> echo "Hello China">hello.pslPS E:/> cat ./hello.pslHello ChinaPS E:/> @'>> dir>> help dir>> ls>> '@>test.psl

  2)復雜點的大腳本編寫,一般借助文本編輯器方便些。

2、腳本執行

  1)PowerShell腳本的執行直接是使用腳本文件的相對路徑,或者絕對路徑

  2)通過別名設置(> Set-Alias),將腳本的執行語句保存為別名,如此,就能像輸入命令一樣的執行腳本

3、執行策略限制

  腳本能否執行取決于Powershell的執行策略;

  Powershell一般初始化情況下都會禁止腳本執行。只有管理員才有權限更改該策略,非管理員會報錯。以管理員身份打開powershell:

PS E:/> Get-ExecutionPolicyRestrictedPS E:/> Set-ExecutionPolicy Unrestricted執行策略更改執行策略可幫助你防止執行不信任的腳本。更改執行策略可能會產生安全風險,如 https:/go.microsoft.com/fwlink/?LinkID=135170中的 about_Execution_Policies 幫助主題所述。是否要更改執行策略?[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暫停(S) [?] 幫助 (默認值為“N”): y

  查看所有支持的執行策略:

PowerShell,監控,Win-Server,性能

  1>Unrestricted:權限最高,可以不受限制執行任何腳本。

  2>Default:為Powershell默認的策略:Restricted,不允許任何腳本執行。

  3>AllSigned:所有腳本都必須經過簽名才能在運行。

  4>RemoteSigned:本地腳本無限制,但是對來自網絡的腳本必須經過簽名。

三、獲取系統性能情況

1、主機名

PS D:/> $env:computername

2、CPU使用情況

PowerShell,監控,Win-Server,性能

  注意,-f:-filter:過濾,執行;對于不是很清楚的命令可以通過 man 命令 來獲取幫助。

3、內存使用情況

PS D:/> $mem = gwmi win32_OperatingSystemPS D:/> $memSystemDirectory : C:/Windows/system32Organization :BuildNumber : 15063RegisteredUser : Windows 用戶SerialNumber : 00331-10000-00001-AA275Version : 10.0.15063

  1)總內存:

PS D:/> $Allmem = "{0:0.0} MB" -f ($mem.TotalVisibleMemorySize / 1KB)PS D:/> $Allmem4003.4 MB

  2)剩余內存:

PS D:/> $Freemem = "{0:0.0} MB" -f ($mem.FreePhysicalMemory / 1KB)PS D:/> $Freemem285.5 MB

  3)內存使用比:

PS D:/> $Permem = "{0:0.0} %" -f ((($mem.TotalVisibleMemorySize-$mem.FreePhysicalMemory)/$mem.TotalVisibleMemorySize)*100)PS D:/> $Permem92.9 %

4、磁盤使用情況

PowerShell,監控,Win-Server,性能

  1)多條件過濾:只獲取D、E磁盤的信息

  PS D:/> gwmi win32_logicaldisk -f "drivetype=3 and (DeviceID='E:' or DeviceID='D:')"

  2)輔助智能顯示信息:

PS D:/> gwmi Win32_LogicalDisk | Foreach-Object { 'Disk {0} has {1:0.0} GB space available' -f $_.Caption, ($_.FreeSpace / 1024MB) }Disk C: has 53.1 GB space availableDisk D: has 183.5 GB space availableDisk E: has 164.1 GB space available

5、大合集:執行腳本獲取CPU、內存信息

PS D:/> cat ./GetCPUMem.ps1$Server = $env:computername#server's CPU Mem Hardinfor $cpu = Get-WMIObject –computername $Server win32_Processor $mem = gwmi -ComputerName $Server win32_OperatingSystem $Disks = gwmi –Computer: $Server win32_logicaldisk -filter "drivetype=3" $Havecpu = "{0:0.0} %" -f $cpu.LoadPercentage $Allmem = "{0:0.0} MB" -f ($mem.TotalVisibleMemorySize / 1KB) $Freemem = "{0:0.0} MB" -f ($mem.FreePhysicalMemory / 1KB) $Permem = "{0:0.0} %" -f ((($mem.TotalVisibleMemorySize-$mem.FreePhysicalMemory)/$mem.TotalVisibleMemorySize)*100) Write-Host "COMPUTER:$Server"`r`n# `r`n表示換行輸出 Write-Host "CPU:$Havecpu"`r`n Write-Host "Total Mem:$Allmem" Write-Host "Free Mem:$Freemem" Write-Host "Used Mem:$Permem"`r`n $IpAdd = (Get-WmiObject -class win32_NetworkAdapterConfiguration -Filter 'ipenabled = "true"').ipaddress[0] Write-Host "Ipaddress:$IpAdd"`r`nPS D:/> ./GetCPUMem.ps1COMPUTER:DESKTOP-P8MIUHKCPU:15.0 %Total Mem:4003.4 MBFree Mem:272.9 MBUsed Mem:93.2 %Ipaddress:192.168.203.111

四、系統性能監控:CPU、內存、Disk

1、利用psl腳本獲取性能信息

  死循環作業,只需要啟動一次job即ok,如果擔心重啟之后停掉,就設置:start automatically when SQL Server Agent start。

2、監控標準把控

  1)CPU:80%

  2)內存:60% (通過io 和 ple 側面反映內存情況)

  3)Disk:90%

3、T-SQL存儲過程

USE [TestDB]GO/*系統性能監控:CPU、內存、disk*/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc M_cpumem--手動獲取數據庫服務器IP@ip nvarchar(20)ASBEGIN /*獲取CPU、內存使用情況信息*/ --作業Get-CPU_Mem,執行powershell腳本 DECLARE @cm nvarchar(100) SET @cm=(  SELECT log   FROM msdb.dbo.sysjobstepslogs) --cpu使用率 DECLARE @cpu int SET @cpu=CAST((SELECT SUBSTRING(@cm,5,4)) AS numeric(2,0)) --內存使用率 DECLARE @mem int SET @mem=CAST((SELECT SUBSTRING(@cm,22,4)) AS numeric(2,0))  /*CPU過載報警監控*/ --CPU使用率大于80%說明系統出現高耗 IF (@cpu>80) BEGIN  DECLARE @str_subject_cpu nvarchar(100),@str_html_cpu nvarchar(max);  SET @str_subject_cpu='服務器:'+@ip+' CPU高耗報警'  --CPU或調度器當前分配的工作情況  SET @str_html_cpu='Dear All:    <br>  系統CPU>80%,請參閱系統調度情況,進行性能優化處理!<br>    <table border=1 >'+    '<tr>     <td style="width: 80px"><p align="center" >Scheduler_ID</p></td>     <td style="width: 80px"><p align="center" >CPU_ID</p></td>     <td style="width: 150px"><p align="center" >狀態</p></td>     <td style="width: 80px"><p align="center" >Is_Idle</p></td>     <td style="width: 90px"><p align="center" >當前任務數</p></td>     <td style="width: 80px"><p align="center" >等待調度線程數</p></td>     <td style="width: 90px"><p align="center" >當前線程數</p></td>     <td style="width: 90px"><p align="center" >活動線程數</p></td>     <td style="width: 90px"><p align="center" >掛起任務數</p></td>    </tr>'+   CAST((    SELECT     td=scheduler_id,'',     td=cpu_id,'',     td=status,'',     td=is_idle,'',     td=current_tasks_count,'',     td=runnable_tasks_count,'',     td=current_workers_count,'',     td=active_workers_count,'',     td=work_queue_count,''    FROM master.sys.dm_os_schedulers    WHERE scheduler_id<255    FOR xml path('tr'),type    ) AS nvarchar(max))+    N'</table>';  BEGIN    EXEC msdb.dbo.sp_send_dbmail   @profile_name='Email',   @recipients='xxx@xxx.com',   @subject=@str_subject_cpu,   @body=@str_html_cpu,   @body_format='HTML'      END END  /*內存過載報警監控*/ --內存使用率大于60%說明系統出現高耗 IF (@mem>60) BEGIN  DECLARE @str_subject_mem nvarchar(100),@str_html_mem nvarchar(max);  SET @str_subject_mem='服務器:'+@ip+' 內存高耗報警'  --系統性能計數器  SET @str_html_mem='Dear All:    <br>  系統Memory>60%,請參閱系統性能監控情況,進行性能優化處理!<br>    <table border=1 >'+     '<tr>     <td style="width: 150px"><p align="center" >Object_Name</p></td>     <td style="width: 150px"><p align="center" >Counter_Name</p></td>     <td style="width: 100px"><p align="center" >Value</p></td>        </tr>'+   CAST((    SELECT      td=object_name,'',     td=counter_name,'',     td=cntr_value,''    FROM sys.dm_os_performance_counters    WHERE object_name in ('SQLServer:Buffer Manager','SQLServer:Memory Manager')     AND counter_name in ('Buffer cache hit ratio','Checkpoint pages/sec','Lazy writes/sec','Page lIFe expectancy','Memory Grants PENDing','Target Server Memory (KB)','Total Server Memory (KB)')    FOR xml path('tr'),type    ) AS nvarchar(max))+    N'</table>';  BEGIN    EXEC msdb.dbo.sp_send_dbmail   @profile_name='Email',   @recipients='xxx@xxx.com',   @subject=@str_subject_mem,   @body=@str_html_mem,   @body_format='HTML'      END END /*磁盤使用報警監控*/ --磁盤可使用率小于15%時進行郵件報警 CREATE TABLE temp_disk_space(Drive_Name nvarchar(50),Total_Space_GB NUMERIC(18,2),Free_Space_GB NUMERIC(18,2)) INSERT INTO temp_disk_space  SELECT DISTINCT   vs.volume_mount_point,   CAST(vs.total_bytes / 1024.0 / 1024 / 1024 AS NUMERIC(18,2)),  CAST(vs.available_bytes / 1024.0 / 1024 / 1024 AS NUMERIC(18,2))  FROM sys.master_files AS f  CROSS APPLY sys.dm_os_volume_stats(f.database_id,f.file_id) AS vs   SELECT Drive_Name,(Free_Space_GB * 100)/Total_Space_GB AS [% Free_Space]  INTO #temp_space_monitor  FROM temp_disk_space  ORDER BY Drive_Name   IF exists(SELECT 1 FROM #temp_space_monitor WHERE [% Free_Space] < 15)  BEGIN  DECLARE @str_subject_disk nvarchar(100);  SET @str_subject_disk='服務器:'+@ip+' 磁盤空間不足'   EXEC msdb.dbo.sp_send_dbmail  @profile_name='Email',  @recipients='xxx@xxx.com',  @subject=@str_subject_disk,  @body = 'Dear ALL:  請及時清理磁盤,磁盤空間使用情況見附件!',  @query = 'SELECT * FROM TestDB.dbo.temp_disk_space', --使用全稱  @attach_query_result_as_file = 1,   @query_attachment_filename = 'disk.txt' END   DROP table TestDB.dbo.temp_disk_space, #temp_space_monitor     END

4、最后就是將上面的存儲過程添加到定時作業里進行監控

總結:

最后的功能是實現了,到達了Windows Server性能的監控要求,但是,各種波折的獲取性能信息,真的是很難把控到“實時監控”。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产中字| 97精品欧美一区二区三区| 欧美中文字幕在线播放| 欧美日韩国内自拍| 国产成人免费91av在线| 日韩精品极品毛片系列视频| 成人免费午夜电影| 日韩欧美国产高清91| 亚洲国产日韩欧美综合久久| 91精品国产高清久久久久久91| 欧美最顶级的aⅴ艳星| 亚洲男人第一av网站| 日韩成人中文字幕| 久久精品视频网站| 国内精品久久久久伊人av| 欧美日产国产成人免费图片| 成人乱色短篇合集| 日韩av在线网| 国产精品视频一区国模私拍| 91高清视频免费| 亚洲精品欧美一区二区三区| 午夜精品一区二区三区在线| 亚洲自拍高清视频网站| 97色在线播放视频| 国产一区玩具在线观看| 日韩中文字幕国产| 在线丨暗呦小u女国产精品| 最新国产精品拍自在线播放| 国产91精品久久久久久| 日韩成人在线视频网站| 日韩欧中文字幕| 日韩欧美一区二区三区| 日韩色av导航| 欧美三级欧美成人高清www| 色偷偷9999www| 亚洲精选中文字幕| 亚洲欧美中文字幕| 久久久久久久影视| 国产精品入口日韩视频大尺度| 欧美最猛黑人xxxx黑人猛叫黄| 一区二区日韩精品| 亚洲色图欧美制服丝袜另类第一页| 亚洲大胆人体av| 亚洲自拍在线观看| 久久久久久高潮国产精品视| 久热精品视频在线观看一区| 亚洲激情小视频| 国产精品99久久久久久人| 国产精品视频免费观看www| 最好看的2019年中文视频| 中文日韩在线视频| 亚洲第一区中文字幕| 91久久精品日日躁夜夜躁国产| 91精品国产免费久久久久久| 欧美性感美女h网站在线观看免费| 国产精品日韩欧美综合| 国产成人在线一区| 国产精品你懂得| 国产精品自拍小视频| 欧美黄色片免费观看| 成人福利视频在线观看| 日韩在线观看免费高清完整版| 国产成人一区二| 国产成人激情小视频| 国产精品ⅴa在线观看h| 在线播放日韩av| 51色欧美片视频在线观看| 久久久久一本一区二区青青蜜月| 欧美日韩亚洲精品内裤| 欧美裸体视频网站| 亚洲视频在线免费观看| 欧美日韩国产va另类| 欧美精品中文字幕一区| 97国产精品久久| 欧美性猛交xxxx免费看久久久| 日韩亚洲一区二区| 日韩精品视频三区| 狠狠躁天天躁日日躁欧美| xvideos亚洲人网站| 日韩精品极品视频免费观看| 欧美日韩一区二区在线| 九九久久综合网站| 人妖精品videosex性欧美| 亚洲欧美日韩精品久久| 色婷婷综合成人av| 2020欧美日韩在线视频| 92看片淫黄大片欧美看国产片| 欧美成年人网站| 国产精品手机播放| 中文字幕日韩精品有码视频| 成人国产精品日本在线| 欧美福利在线观看| 91天堂在线视频| 青青青国产精品一区二区| 最近日韩中文字幕中文| 国产成人av在线播放| 欧美激情精品久久久久久大尺度| xxxxx91麻豆| 久久久久久国产| 一区二区三区四区视频| 亚洲精品国产精品自产a区红杏吧| 欧美极品欧美精品欧美视频| 亚洲在线第一页| 97视频在线观看视频免费视频| 日本成人黄色片| 日韩有码在线播放| 国产成人精品免费久久久久| 欧美一区二区三区免费视| 51视频国产精品一区二区| 色悠久久久久综合先锋影音下载| 国产精品久久久久久久7电影| 国自在线精品视频| 精品久久久久久久久国产字幕| 国产成人极品视频| 日韩高清电影免费观看完整版| 久久99国产精品久久久久久久久| 亚洲美女免费精品视频在线观看| y97精品国产97久久久久久| 在线视频一区二区| 日韩欧美一区视频| 国产精品99久久久久久白浆小说| 日韩av中文字幕在线| 另类图片亚洲另类| 亚洲免费电影在线观看| 亚洲欧美日韩一区二区三区在线| 中文日韩在线视频| 精品国产一区二区三区在线观看| 亚洲精品aⅴ中文字幕乱码| 韩日欧美一区二区| 国产精品高潮呻吟久久av无限| 中文字幕日韩在线观看| 久久的精品视频| 最近2019免费中文字幕视频三| 一区国产精品视频| 操91在线视频| 91精品国产高清久久久久久久久| 81精品国产乱码久久久久久| 97视频网站入口| 国产精品精品久久久久久| 青草青草久热精品视频在线网站| 欧美精品在线视频观看| 91精品视频免费观看| 高清亚洲成在人网站天堂| 亚洲免费视频网站| 欧美伊久线香蕉线新在线| 国产精品日韩欧美大师| 国产精品白丝av嫩草影院| 国产精自产拍久久久久久蜜| 欧美在线视频一二三| 亚洲国产免费av| 成人国产亚洲精品a区天堂华泰| 国产精品高潮呻吟久久av黑人| 色中色综合影院手机版在线观看| 久久av红桃一区二区小说| 亚洲缚视频在线观看| 国产精品久久久久久五月尺| 亚洲一区二区久久久久久久| 国产精品视频久| 欧美视频在线视频| 国产又爽又黄的激情精品视频| 国产亚洲视频在线| 欧美日韩福利电影| 日韩女优在线播放| 久久免费视频网站|