如何利用PowerShell监控Win-Server性能详解
前言
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命令重定向进文件,或是将脚本文件通过@‘ '@闭合起来
2)复杂点的大脚本编写,一般借助文本编辑器方便些。
2、脚本执行
1)powershell脚本的执行直接是使用脚本文件的相对路径,或者绝对路径
2)通过别名设置(> set-alias),将脚本的执行语句保存为别名,如此,就能像输入命令一样的执行脚本
3、执行策略限制
脚本能否执行取决于powershell的执行策略;
powershell一般初始化情况下都会禁止脚本执行。只有管理员才有权限更改该策略,非管理员会报错。以管理员身份打开powershell:
查看所有支持的执行策略:
1>unrestricted:权限最高,可以不受限制执行任何脚本。
2>default:为powershell默认的策略:restricted,不允许任何脚本执行。
3>allsigned:所有脚本都必须经过签名才能在运行。
4>remotesigned:本地脚本无限制,但是对来自网络的脚本必须经过签名。
三、获取系统性能情况
1、主机名
ps d:\> $env:computername
2、cpu使用情况
注意,-f:-filter:过滤,执行;对于不是很清楚的命令可以通过 man 命令 来获取帮助。
3、内存使用情况
1)总内存:
2)剩余内存:
3)内存使用比:
4、磁盘使用情况
1)多条件过滤:只获取d、e磁盘的信息
ps d:\> gwmi win32_logicaldisk -f "drivetype=3 and (deviceid='e:' or deviceid='d:')"
2)辅助智能显示信息:
5、大合集:执行脚本获取cpu、内存信息
四、系统性能监控: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存储过程
4、最后就是将上面的存储过程添加到定时作业里进行监控
总结:
最后的功能是实现了,到达了windows server性能的监控要求,但是,各种波折的获取性能信息,真的是很难把控到“实时监控”。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: socket传送文件格式的问题
下一篇: 霜降吃牛肉的缘由