Source de données des valeurs de mesures de performance du pool de stockage
Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.Performance.DS (DataSourceModuleType)
Fournisseur de données pour les valeurs de mesures de performances du pool de stockage.
Element properties: Member Modules:
Overrideable Parameters:
Source Code: <DataSourceModuleType ID="Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.Performance.DS" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TargetInstanceId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ObjectName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CounterName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ComputerName" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.SystemCenter.VirtualMachineManager.Storage.PoolProperty.PropertyBag.DS">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<ScriptName>StorageVolume.PropertyBag.DS.ps1</ScriptName>
<ScriptBody><Script> # Creates sets of property bag data wit Total and Remaining Space values foreach LUN
# Script parameters
# - $VMMServer - server computer name
param( [String] $VMMServer)
$errorActionPreference = 'stop' | Out-Null
# Create MOM API object
$api = New-Object -comObject "MOM.ScriptAPI"
#Import VMM commands
$modulePath = get-itemproperty -path "hklm:\software\microsoft\microsoft system center virtual machine manager administrator console\Setup";
Import-Module ($modulePath.InstallPath + "bin\psModules\virtualmachinemanagercore\virtualmachinemanagercore.psd1") | Out-Null
#Connect to server
$server = Get-VMMServer -ComputerName $VMMServer
#Get pools
$pools = Get-SCStoragePool -VMMServer $server
# For each pool
foreach ($pool in $pools)
{
#Create Total Space data
$propertyBag = $api.CreatePropertyBag()
$propertyBag.AddValue("InstanceId", $pool.ID.ToString())
$propertyBag.AddValue("CounterName", "Total")
$propertyBag.AddValue("Value", $pool.TotalManagedSpace)
$propertyBag
#Create Remaining Space data
$propertyBag = $api.CreatePropertyBag()
$propertyBag.AddValue("InstanceId", $pool.ID.ToString())
$propertyBag.AddValue("CounterName", "Remaining")
$propertyBag.AddValue("Value", $pool.RemainingManagedSpace)
$propertyBag
}</Script> </ScriptBody>
<ComputerName>$Config/ComputerName$</ComputerName>
</DataSource>
<ConditionDetection ID="InstanceFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='InstanceId']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/TargetInstanceId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='CounterName']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/CounterName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="PerfMapper" TypeID="Perf!System.Performance.DataGenericMapper">
<ObjectName>$Config/ObjectName$</ObjectName>
<CounterName>$Config/CounterName$</CounterName>
<InstanceName>$Config/TargetInstanceId$</InstanceName>
<Value>$Data/Property[@Name='Value']$</Value>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="PerfMapper">
<Node ID="InstanceFilter">
<Node ID="DS"/>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Perf!System.Performance.Data</OutputType>
</DataSourceModuleType>