Монитор конечной веб-точки VMM Service Provider Foundation

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

Отслеживание операционного состояния конечной веб-точки VMM Service Provider Foundation.

Knowledge Base article:

Сводка

Отслеживает доступность и операционное состояние веб-интерфейса VMM с веб-серверов SPF. Выполняется путем периодической отправки тестовых вызовов веб-интерфейса для получения ресурсов облака.

Причины

Если этот монитор переходит в состояние ошибки единственный среди других мониторов подключения, скорее всего, причина в ошибке конфигурации структуры или ошибке разрешений. Дополнительные сведения о настройке монитора см. в разделе "Конфигурация".

Разрешение

Проверьте конфигурацию структуры для целевого сервера VMM в ресурсах облака и убедитесь, что учетной записи администратора предоставлены права на доступ. Убедитесь в правильной настройке параметров безопасности для монитора.

Конфигурация

Для правильной работы этого монитора необходимы права администратора на доступ к ресурсам облака на сервере VMM. Создайте учетную запись запуска от имени, которая использует или имеет разрешения с уровнем, равным уровню учетной записи "Пул приложений", указанной для конечной веб-точки VMM. Добавьте ее в профиль запуска от имени с именем "Учетная запись VMM Microsoft Service Provider Foundation".

Для этого монитора можно настроить следующие параметры:

Параметр

Определение

По умолчанию

Оповещение о состоянии

Состояние работоспособности для монитора, создавшего оповещение.

Монитор в критическом состоянии работоспособности

Приоритет оповещения

Приоритет оповещений, созданных для этого монитора.

Высокая

Серьезность оповещений

Приоритет оповещений, созданных для этого монитора.

Критическое

Автоматическое разрешение оповещения

Указывает, должно ли оповещение разрешаться автоматически, когда монитор возвращается в работоспособное состояние.

True

Включено

Указывает на необходимость запуска монитора.

True

Создает оповещение

Указывает, должен ли монитор создавать оповещение при переходе в критическое состояние или состояние предупреждения.

True

Интервал

Интервал в секундах между запусками монитора.

300

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
AccessibilityInternal
Alert Message
AlertIfCantAccessVMMEndpoint
Конечная веб-точка VMM Service Provider Foundation недоступна.
RunAsMicrosoft.SystemCenter.SPF.VmmEndpointAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMEndpointGet" Accessibility="Internal" 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 = $null
$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>