Service Provider Foundation VMM Web エンドポイント モニター

Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet (UnitMonitor)

SPF VMM Web エンドポイントが正常に稼働しているかどうかを監視します。

Knowledge Base article:

概要

VMM Web インターフェイスが SPF Web サーバーからアクセス可能で動作可能かどうかを監視します。これを行うために、クラウド リソースを取り出すためのテスト Web インターフェイス呼び出しを定期的に行います。

構成

このモニターが正しく機能するには、VMM サーバー上のクラウド リソースにアクセスするための管理者アクセス許可が必要です。VMM Web エンドポイントに対して指定されているアプリケーション プール アカウントと同じアクセス許可を持つ実行アカウントを作成し、このアカウントを "Microsoft Service Provider Foundation VMM アカウント" という実行プロファイルに追加してください。

このモニターでは、次のオプションを構成できます。

オプション

定義

既定

アラート状態

アラートを生成するモニターのヘルス状態。

モニターのヘルス状態が重大状態にあります

アラートの優先順位

このモニターで生成されるアラートの優先順位。

アラートの重要度

このモニターで生成されるアラートの優先順位。

重大

アラートの自動解決

モニターが正常状態に戻ったときにアラートを自動的に解決するかどうかを指定します。

True

有効

モニターを実行するかどうかを指定します。

True

アラートの生成

状態が警告または重大に変化したときに、モニターでアラートを生成するかどうかを指定します。

True

間隔

モニターを実行する間隔 (秒)。

300

原因

このモニターがエラー状態で、他の接続モニターはエラー状態ではない場合は、ファブリック構成のエラーかアクセス許可のエラーが原因として考えられます。モニターの構成方法の詳細については、「構成」セクションを参照してください。

解決方法

クラウド リソースに対するファブリック構成のターゲット VMM サーバーを調べて、アクセス権が管理者アカウントに付与されていることを確認してください。モニターのセキュリティが正しく構成されていることを確認してください。

Element properties:

TargetMicrosoft.SystemCenter.SPF.SpfServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag
RemotableTrue
AccessibilityPublic
Alert Message
VMM エンドポイントにアクセスできません
Service Provider Foundation VMM Web エンドポイントにアクセスできません。
RunAsMicrosoft.SystemCenter.SPF.VmmEndpointAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.SPF.SpfServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag" ConfirmDelivery="false" RunAs="Microsoft.SystemCenter.SPF.VmmEndpointAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='StatusCode']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ScriptName>HealthOfSpfServer.ps1</ScriptName>
<ScriptBody><Script>param
(
$PortNumber
)

$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()

$errorActionSetting = $ErrorActionPreference

$downVmmServers = ""
$res = $null

try
{
$ErrorActionPreference = "Stop"

[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

$req = [System.Net.WebRequest]::Create("https://localhost:$PortNumber/SC2012R2/VMM/Microsoft.Management.OData.svc/Clouds")
$req.UseDefaultCredentials = $true
$res = $req.GetResponse()
$int = [int]$res.StatusCode
if($int -eq 200)
{
$propertyBag.AddValue("Result", "Success")
}
else
{
$propertyBag.AddValue("Result", "Failure")
}

$propertyBag.AddValue("StatusCode", $int)

}
catch
{
$propertyBag.AddValue("Result", "Failure")
$propertyBag.AddValue("StatusCode", $_.Exception.Message)
}
finally
{
$ErrorActionPreference = $errorActionSetting
if($res -ne $null)
{
$res.Close()
}
$propertyBag
}
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>PortNumber</Name>
<Value>$Target/Property[Type="Microsoft.SystemCenter.SPF.SpfServerBase"]/PortNumber$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>