Monitor de servidor VMM de Service Provider Foundation

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

Supervisa la conexión con todos los servidores VMM registrados.

Knowledge Base article:

Resumen

Supervisa la conectividad del servidor de administración VMM desde los servidores web de SPF. Para ello se realiza periódicamente una conexión de prueba con cada uno de los servidores de administración VMM registrados.

Causas

Si este monitor está en estado de error, puede deberse a que el servidor de administración VMM no esté disponible desde el servidor, a que haya cambiado la configuración del servidor de administración VMM o a que no se haya configurado correctamente la seguridad del monitor. En la sección Configuración encontrará información detallada para configurar el monitor.

Si el monitor está configurado correctamente y, sin embargo, está en estado de error, significa que el servidor de administración VMM está desconectado o que no es accesible para el servidor de Service Provider Foundation.

Resolución

Compruebe el número de puerto, los permisos de las cuentas y el estado de funcionamiento en la configuración del servidor de administración VMM mediante el módulo de administración de supervisión de VMM. Si el estado de funcionamiento de VMM indica que no hay errores, compruebe los servidores VMM registrados en la base de datos de SPF para asegurarse de que la información de conexión es correcta. Compruebe que la cuenta Grupo de aplicaciones para el extremo web VMM en el servidor SPF se ha aprovisionado con acceso al servidor VMM. Compruebe si ha expirado la contraseña de la cuenta Grupo de aplicaciones.

Configuración

Para que este monitor funcione correctamente, debe tener permiso para ejecutar cmdlets PowerShell de SPF y conexión con el servidor 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.

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
AlertIfCantConnectToVMM
No se pudo establecer conexión con el servidor VMM registrado
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.VMMServerConnection" 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.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><Script>$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()

$errorActionSetting = $ErrorActionPreference

$downVmmServers = $null

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 -ne $null)
{
$propertyBag.AddValue("Result", "Error")
$propertyBag.AddValue("DownVmmServers", $downVmmServers)
}
else
{
$propertyBag.AddValue("Result", "Success")
}
}
catch
{
$propertyBag.AddValue("Result", "Error")
}
finally
{
$ErrorActionPreference = $errorActionSetting
$propertyBag
}
</Script></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>