すべての登録済み VMM サーバーへの接続を監視します。
SPF Web サーバーからの VMM 管理サーバー接続を監視します。これを行うために、定期的に登録済み VMM 管理サーバーのそれぞれに対してテスト接続を行います。
このモニターが正しく機能するには、SPF PowerShell コマンドレットの実行と VMM サーバーへの接続が許可されている必要があります。VMM Web エンドポイントに対して指定されているアプリケーション プール アカウントと同じアクセス許可を持つ実行アカウントを作成し、このアカウントを "Microsoft Service Provider Foundation VMM アカウント" という実行プロファイルに追加してください。
オプション | 定義 | 既定 |
アラート状態 | アラートを生成するモニターのヘルス状態。 | モニターのヘルス状態が重大状態にあります |
アラートの優先順位 | このモニターで生成されるアラートの優先順位。 | 高 |
アラートの重要度 | このモニターで生成されるアラートの優先順位。 | 重大 |
アラートの自動解決 | モニターが正常状態に戻ったときにアラートを自動的に解決するかどうかを指定します。 | True |
有効 | モニターを実行するかどうかを指定します。 | True |
アラートの生成 | 状態が警告または重大に変化したときに、モニターでアラートを生成するかどうかを指定します。 | True |
間隔 | モニターを実行する間隔 (秒)。 | 300 |
このモニターがエラー状態の場合は、VMM 管理サーバーがサーバーから利用できない状態であるか、VMM 管理サーバーの構成が変更されたか、モニターのセキュリティが正しく構成されていません。モニターの構成方法の詳細については、「構成」セクションを参照してください。
モニターが正しく構成されているにもかかわらずエラー状態の場合は、VMM 管理サーバーがオフラインであるか、Service Provider Foundation サーバーからアクセスできない状態となっています。
VMM 管理サーバーの構成 (ポート番号、アカウントのアクセス許可、稼働状態) を、VMM 監視管理パックを使用して調べてください。VMM 稼働状態がエラーなしを示している場合は、SPF データベース内の登録済み VMM サーバーを調べて、接続情報が正しいことを確認してください。SPF サーバー上の VMM Web エンドポイントに対応するアプリケーション プール アカウントが、VMM サーバーにアクセスできるようにプロビジョニング済みであることを確認してください。アプリケーション プール アカウントのパスワードが失効していないことを確認してください。
Target | Microsoft.SystemCenter.SPF.SpfServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SystemCenter.SPF.DatabaseAccount |
<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection" 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.DatabaseAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='DownVmmServers']$</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>HealthOfVmmServers.ps1</ScriptName>
<ScriptBody> $oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()
$errorActionSetting = $ErrorActionPreference
$downVmmServers = ""
try
{
$ErrorActionPreference = "Stop"
Import-Module "$env:COMMONPROGRAMFILES\Microsoft System Center 2012 R2\Service Provider Foundation\Microsoft.SystemCenter.Foundation.Cmdlet.dll"
$vmmInstallPath = get-itemproperty "hklm:\software\microsoft\microsoft system center virtual machine manager administrator console\setup" | select-object -ExpandProperty installpath
Import-Module "$vmmInstallPath\bin\Microsoft.SystemCenter.VirtualMachineManager.dll"
$servers = Get-SCSPFServer -ServerType 0
foreach($server in $servers)
{
try
{
$vmmServer = Get-SCVmmServer -ComputerName $server
$vmmServer.Disconnect()
$vmmServer = $null
}
catch
{
$downVmmServers = $downVmmServers + "$server;"
}
}
if($downVmmServers.Length -gt 0)
{
$propertyBag.AddValue("Result", "Error")
$propertyBag.AddValue("DownVmmServers", $downVmmServers)
}
else
{
$propertyBag.AddValue("Result", "Success")
}
}
catch
{
$propertyBag.AddValue("Result", "Error")
}
finally
{
$ErrorActionPreference = $errorActionSetting
$propertyBag
}
</ScriptBody>
<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>