Monitor de extremo web VMM de Service Provider Foundation

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

Supervisa el estado operativo del extremo web VMM de SPF.

Knowledge Base article:

Resumen

Supervisa la accesibilidad y operatividad de la interfaz web VMM de los servidores web de SPF. Para ello se realiza periódicamente una llamada a interfaz web de prueba para recuperar recursos de nube.

Causas

Si este monitor está en estado de error y no hay ningún otro monitor de conectividad en estado de error, las causas probables son un error de configuración del tejido o un error relacionado con permisos. En la sección Configuración encontrará información detallada para configurar el monitor.

Resolución

Compruebe el servidor VMM de destino para la configuración del tejido en los recursos de nube y asegúrese de que la cuenta de administrador tiene derechos de acceso. Asegúrese de que la seguridad del monitor está configurada correctamente.

Configuración

Para que este monitor funcione correctamente debe tener permiso de administrador para acceder a los recursos de nube en servidores VMM. Cree una cuenta de ejecución que use o tenga los mismos permisos que la cuenta Grupo de aplicaciones especificada para el extremo web VMM y agréguela al perfil de ejecución denominado Cuenta VMM de Microsoft Service Provider Foundation.

Se pueden configurar las siguientes opciones en este monitor:

Opción

Definición

Predeterminada

Alerta en estado

Estado de mantenimiento para el monitor que genera una alerta.

El monitor está en un estado de mantenimiento crítico

Prioridad de la alerta

Prioridad de la alerta generada por este monitor.

Alta

Gravedad de la alerta

Prioridad de la alerta generada por este monitor.

Crítica

Resolver alerta automáticamente

Especifica si la alerta se debe resolver automáticamente cuando el monitor vuelva a un estado correcto.

Verdadero

Habilitado

Especifica si se debe ejecutar el monitor.

Verdadero

Genera alerta

Especifica si el monitor debe generar una alerta al cambiar a un estado crítico o de advertencia.

Verdadero

Intervalo

Número de segundos entre ejecuciones del monitor.

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
El extremo web VMM de Service Provider Foundation no es accesible.
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>