服务器性能监控之WMI

1.WMI简介
WMI是英文Windows Management Instrumentation的简写,通过使用WMI,我们可以获取本地或远程服务器的性能参数和进程运行情况,以及大部分硬件信息,但前提是运行的用户要有足够的权限,如administrator组用户等。这也是做负载均衡所需要且比较方便快捷的途径。

2.使用时首先添加System.Management.dll,然后引用

using  System.Management;
3.定义远程访问 
public   class  ManagementConnectPool
    
{
        
private static System.Management.ConnectionOptions Conn = new ConnectionOptions() ;
        
private static ManagementObjectSearcher mos = new ManagementObjectSearcher();
        
private string username = "";
        
private string pwd = "";
        
private string space="";
        
private string server = "";

        
public ManagementConnectPool(string mpusername,string mppwd , string mpspace ,string mpserver)
        
{
            
this.username = mpusername;
            
this.pwd = mppwd;
            
this.space = mpspace;
            
this.server = mpserver;
            Conn.Username 
= mpusername;
            Conn.Password 
= mppwd;
            
string scopestring ="//" + mpserver + mpspace;
            System.Management.ManagementScope Ms 
= new ManagementScope(scopestring);
            Ms.Connect();
            mos.Scope 
= Ms;
        }


        
public ManagementObjectCollection getQueryResult(string queryString)
        
{
            ObjectQuery oq 
= new ObjectQuery();
            oq.QueryString 
= queryString;
            mos.Query 
= oq;
            ManagementObjectCollection moc 
=mos.Get();
            
return moc;
        }

    }

4.获取CPU,内存,网络流量等信息

public   class  Monitor
    

        
private string username = "";
        
private string pwd ="";
        
private string ip = "";
        ManagementConnectPool mcp;
        WMSServerClass server;
        

        
public Monitor(string username,string pwd,string ip){
            
this.username = username;
            
this.pwd = pwd ;
            
this.ip = ip;
            mcp 
= new ManagementConnectPool(username,pwd,"/root/cimv2",ip);
            server 
= new WMSServerClass();
        }


        
WMI方式获取网卡流量    
            
        
WMI方式获取CPU信息

        
WMI方式获取内存使用率
}

5.获取本地机器信息(WEB)

1.如何用WMI获得指定磁盘的容量
 
          
2.如何用WMI获得指定磁盘的容量
 
          
3.如何列出机器中所有的共享资源
 
          
4.怎样写程控制让系统中的某个文件夹共享或取消共享
 
          
5.如何获得系统服务的运行状态
 
          
6.通过WMI修改IP,而实现不用重新启动
 
          
7.如何利用WMI远程重启远程计算机
 
          
8.利用WMI创建一个新的进程
 
          
9.如何通过WMI终止一个进程
 
          
10.如何用WMI 来获取远程机器的目录以及文件
 
          
11.网卡的MAC地址
 
          
12.CPU的系列号
 
          
13.主板的系列号
 
          
14.获取硬盘ID
 
          
15.获取本机的用户列表
     }

通过上面介绍的方法,可以很轻松的获取远程或本地机器的性能,进程和硬件信息等。另外:WMI也可以通过使用Vbscript等脚本调用。

说明:其中部分资源来自网友小山的blog。但不够详细说明WMI在服务器性能方面的能力!

 

你可能感兴趣的:(.NET,操作系统,服务器,string,button,object,null,disk)