检索的vSphere服务器上提供的统计资料。
#Get-Date -Format "y"; 2012年3月
Connect-VIServer -Server vCenter -Protocol https -User -Password
$allvms = @()
$vms = Get-Vm
foreach($vm in $vms){
$vmstat = "" | Select VmName, GuestName, NumCPU, ProvisionedSpaceGB, UsedSpaceGB, VmHost, MemMax, MemAvg, CPUMax, CPUAvg, DiskMax, DiskAvg
$vmstat.VmName = $vm.name
$vmstat.GuestName = $vm.Guest.HostName
$vmstat.NumCPU = $vm.NumCPU
$vmstat.ProvisionedSpaceGB = $vm.ProvisionedSpaceGB
$vmstat.UsedSpaceGB = $vm.UsedSpaceGB
$vmstat.VmHost = $vm.VMHost
$statcpu = Get-Stat -Entity ($vm) `
-start (get-date).AddDays(-30) `
-Finish (Get-Date) `
-stat cpu.usagemhz.average
$statmem = Get-Stat -Entity ($vm) `
-Start (get-date).AddDays(-30) `
-Finish (Get-Date) `
-stat mem.consumed.average
$statdisk = Get-Stat -Entity ($vm) `
-Start (get-date).AddDays(-30) `
-Finish (Get-Date) `
-stat disk.usage.average
$cpu = $statcpu | Measure-Object -Property value -Average -Maximum
$mem = $statmem | Measure-Object -Property value -Average -Maximum
$disk = $statdisk | Measure-Object -Property value -Average -Maximum
$vmstat.CPUMax = $cpu.Maximum
$vmstat.CPUAvg = $cpu.Average
$vmstat.MemMax = $mem.Maximum
$vmstat.MemAvg = $mem.Average
$vmstat.DiskMax = $disk.Maximum
$vmstat.DiskAvg = $disk.Average
$allvms += $vmstat
}
$allvms | Export-Csv "c:\VMs.csv" -noTypeInformation -UseCulture
#2.接下来的脚本,让你在过去30天的每一天,每个虚拟机平均和最高的性能统计:
#The next script gives you average and maximum performance statistics per virtual machine for the last 30 days for each day:
<#@{A = 'abc';} :可以定义类#>
Function Get-AverageStatPerDay {
param($vm,$NrOfdays,$Stat)
$Today = Get-Date
Get-Stat -Entity ($vm) `
-start ($Today).AddDays(-$NrOfDays) `
-Finish ($Today) `
-stat $Stat | `
ForEach-Object {
$MetricId = $_.MetricId
$Unit = $_.Unit
$_ | `
Select-Object -Property Description,Entity,EntityId,Instance,IntervalSecs,MetricId,Timestamp,Unit,Value,@{N="Date";E={$_.TimeStamp.Date.ToShortDateString()}}
} | `
Group-Object -Property Date | `
Select-Object -Property @{N="VM";E={$vm.Name}},
@{N="MetricId";E={$MetricId}},
@{N="Date";E={$_.Name}},
@{N="Value";E={($_.Group | Measure-Object -Property Value -Average).Average}},
@{N="Unit";E={$Unit}}
}
Function Get-MaximumStatPerDay {
param($vm,$NrOfdays,$Stat)
$Today = Get-Date
Get-Stat -Entity ($vm) `
-start ($Today).AddDays(-$NrOfDays) `
-Finish ($Today) `
-stat $Stat | `
ForEach-Object {
$MetricId = $_.MetricId
$Unit = $_.Unit
$_ | `
Select-Object -Property Description,Entity,EntityId,Instance,IntervalSecs,MetricId,Timestamp,Unit,Value,@{N="Date";E={$_.TimeStamp.Date.ToShortDateString()}}
} | `
Group-Object -Property Date | `
Select-Object -Property @{N="VM";E={$vm.Name}},
@{N="MetricId";E={$MetricId}},
@{N="Date";E={$_.Name}},
@{N="Value";E={($_.Group | Measure-Object -Property Value -Maximum).Maximum}},
@{N="Unit";E={$Unit}}
}
Get-VM | ForEach-Object {
$vm = $_
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat cpu.usagemhz.average
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat mem.consumed.average
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat disk.usage.average
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat cpu.usagemhz.maximum
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat mem.consumed.maximum
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat disk.usage.maximum
}
#3-------report-last-2calendar---month.ps1--------------------------------------------------------------
$allclust = @()
$clust = Get-Cluster
foreach($clu in $clust){
$clusstat = "" | Select ClusterName, MemMax, MemAvg, CPUMax, CPUAvg
$clusstat.ClusterName = $clu.name
$thisMonth = [datetime](Get-Date -Format "y")
12..1 | %{
$from = $thisMonth.AddMonths(- $_ )
$to = $thisMonth.AddMonths(- $_ +1).AddDays(-1)
}
$statcpu = Get-Stat -Entity ($clu)
-start $from
-Finish $to
-MaxSamples 10000
-stat cpu.usagemhz.average
$statmem = Get-Stat -Entity ($clu)
-start $from
-Finish $to
-MaxSamples 10000
-stat mem.usage.average
$cpu = $statcpu | Measure-Object -Property value -Average -Maximum
$mem = $statmem | Measure-Object -Property value -Average -Maximum
$clusstat.CPUMax = $cpu.Maximum
$clusstat.CPUAvg = $cpu.Average
$clusstat.MemMax = $mem.Maximum
$clusstat.MemAvg = $mem.Average
$allclust += $clusstat
}
$allclust |
select ClusterName, MemMax, MemAvg, CPUMax, CPUAvg |
Export-Csv "c:\g.csv" -noTypeInformation
#显示CPU
$entities = Get-VM $start = (Get-Date).AddMinutes(-5)
$report = Get-Stat -Entity $entities -Stat $metrics -Realtime -Start $start |
Group-Object -Property EntityId,Timestamp | %{
New-Object PSObject -Property @{
Name = $_.Group[0].Entity.Name
Time = $_.Group[0].Timestamp
CpuAvg = ($_.Group | where {$_.MetricId -eq "cpu.usage.average"}).Value
CpuRdy = ($_.Group | where {$_.MetricId -eq "cpu.ready.summation" -and $_.Instance -eq ""}).Value
CpuSwpWait = ($_.Group | where {$_.MetricId -eq "cpu.swapwait.summation" -and $_.Instance -eq ""}).Value
MemActAvg = ($_.Group | where {$_.MetricId -eq "mem.active.average"}).Value
}
}
$report | Sort-Object Name,Time | Export-Csv "C:\VMstats.csv" -NoTypeInformation -UseCulture
memory的使用:
http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/memory_counters.html
mem: sys.uptime.latest
获取stat的参数值
get-stat -Entity (Get-VMHost esx01*) -Stat * -MaxSamples 1 | ft metricid
intervalmins 5加上,五分钟的粒度。
分享到:
相关推荐
这通常可以通过访问Ruby官方网站或使用操作系统特定的包管理器完成,例如在Ubuntu上可以使用`sudo apt-get install ruby-full`命令。 接下来,我们需要获取Redis-stat的源码。源码通常可以从GitHub等代码托管平台...
在监控 MongoDB 性能时,可以使用 `mongodb-stat` 命令的参数来调整监控的间隔时间和次数,例如 `./mongostat -n 10 1` 表示每秒执行一次监控,总共执行10次。此外,还可以通过 `./mongostat --help` 查看更多的监控...
在实际使用vrc-stat-api时,开发者首先需要安装Node.js环境,因为它是运行这个API服务的基础。然后,在项目目录下执行`npm i`安装所有依赖包,这通常包括但不限于Express(一个用于构建Web应用的Node.js框架)、body...
本文将深入探讨`git-stat`的功能、使用方法及其在实际开发中的应用。 首先,我们需要明确`git-stat`并非Git的内置命令,而是由社区开发的一个扩展工具,它提供了更为丰富的统计视图,包括代码增删、作者贡献、文件...
"get-memory-status.zip_memory"这个文件可能是一个工具或者脚本,用于获取系统的内存状态信息。接下来,我们将深入探讨内存管理的相关知识点。 1. **内存类型**: - **RAM(随机存取存储器)**: 主要包括DRAM...
TileStatStream = require ( 'tile-stat-stream' ) ; var tileStatStream = new TileStatStream ( ) ; tilelive . copy ( src , dst , { transform : tileStatStream } , function ( err ) { var stats = ...
CrimeStat通过一系列统计方法,如Moran's I、Geary's C和Getis-Ord Gi*等,帮助用户识别这些空间聚类现象,揭示潜在的热点区域或冷点区域。 “空间相关性分析”是另一种关键功能,它研究不同位置之间的变量值是否...
使用`apt-get install`命令可以安装指定的软件包,例如`sudo apt-get install vim`将安装Vim编辑器。如果需要同时安装多个软件,可以在`install`后用空格隔开,如`sudo apt-get install vim curl`。 3. **升级系统...
在使用`mysqlimport`时,有时可能会遇到错误提示“Error: 13, Can't get stat of”,这通常与文件访问权限或路径相关。本文将深入探讨这个问题及其解决方案。 错误13在操作系统中表示“Permission denied”,意味着...
SF 我的DnD小组的小型跟踪... 做为测试Flask和Tiny DB的测试站点安装: apt-get安装python-dev sudo apt-get安装libmysqlclient-dev pip安装flask_mysqldb 点安装wtforms 点安装passlib pip安装tinydb python app.py
在使用这些数据时,用户首先需要解压"CrimeStat_GIS_Data_Files.rar",然后使用CrimeStat软件打开和导入数据。CrimeStat支持多种数据格式,因此即使用户不熟悉GIS,也能通过其直观的界面进行操作。在进行空间分析时...
代码如下:root@zhou:/usr/local/mysql# mysqlimport -uroot -p123 -h127.0.0.1 -P3306 test backup/chen.sqlmysqlimport: Error: 13, Can’t get stat of ‘/usr/local/mysql/data/backup/chen.sql’ (Errcode: 2),...
apt-get install rubygems ruby ``` 由于国内网络问题,有时无法顺利访问 Rubygems.org。为了解决这个问题,你需要将 Ruby Gems 的源切换到淘宝的镜像: ```bash gem sources --add ...
奥斯塔获取各种OJ的在线法官统计数据必需的python3 模块requests ( ) 模块flask运行Web服务器###在Linux上(Ubuntu 14.04) 为python3安装pip: sudo apt-get install python3-pip 安装所需的模块: sudo pip3 ...
- **数据库连接**:使用JDBC驱动连接数据库,此处使用的是ODBC桥接驱动。 - **SQL语句执行**:使用`PreparedStatement`来执行SQL插入语句,这种方式更安全且能有效防止SQL注入攻击。 - **结果反馈**:如果插入成功,...
要获取节点数据,可以使用 `get()` 方法: ``` data, stat = zk.get("/my/favorite") ``` 这里的 `data` 变量将包含节点数据,`stat` 变量将包含节点状态信息。 获取子节点列表 ------------- 要获取子节点列表,...
3. 查看HDFS文件系统中的文件详细信息:使用dfs -stat命令查看HDFS文件系统中的文件详细信息,例如bin/hadoop dfs -stat /in/test1.txt 掌握HDFS的基本命令是使用HDFS的基础。通过本文总结的命令,您将能够更好地...
标题中的"stat_vss.rar_stat_vss"表明这是一个与VSS(Visual SourceSafe)相关的统计工具,主要用于分析和记录每个开发人员在版本控制系统中的编码活动。VSS是Microsoft推出的一款早期的源代码版本管理工具,它允许...