Monitor de conexión de base de datos de Service Provider Foundation

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

Supervisa la conexión entre el extremo web de SPF y la base de datos de SPF.

Knowledge Base article:

Resumen

Supervisa la conectividad de base de datos de los servidores web de SPF. Para ello se realiza periódicamente una conexión de prueba con la base de datos de Service Provider Foundation.

Causas

Si este monitor está en estado de error, significa que la base de datos del servidor no está disponible o que no se ha 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 la base de datos está desconectada o que el servidor de base de datos no es accesible para el servidor de Service Provider Foundation.

Resolución

Compruebe el estado de la base de datos de Service Provider Foundation y del servidor de base de datos.

Configuración

Para que este monitor funcione correctamente, debe tener permiso de lectura para la base de datos de Service Management Automation. Cree una cuenta de ejecución con permisos de lectura para la base de datos y agréguela al perfil de ejecución denominado Cuenta de base de datos 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
AlertIfCantConnectToSpfDatabase
No se pudo establecer la conexión con la base de datos de SPF.
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.SpfDatabaseScriptMonitor" 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.SpfDatabaseScriptMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ScriptName>HealthOfSqlServer.ps1</ScriptName>
<ScriptBody><Script>$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()

$errorActionSetting = $ErrorActionPreference
try
{
$ErrorActionPreference = "Stop"
Import-Module "$env:COMMONPROGRAMFILES\Microsoft System Center 2012 R2\Service Provider Foundation\Microsoft.SystemCenter.Foundation.Cmdlet.dll"
$stamps = Get-SCSPFStamp
$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>