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 la base de datos desde los servidores web SPF. Esto se lleva a cabo mediante conexiones de prueba periódicas en la base de datos de Service Provider Foundation.

Configuración

Para que este monitor funcione correctamente, debe tener permisos de lectura para la base de datos de Service Management Automation. Cree una cuenta de ejecución que tenga 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.

En este monitor se pueden configurar las siguientes opciones:

Opción

Definición

Valor predeterminado

Estado de alerta

Estado de mantenimiento del monitor que genera una alerta.

El monitor se encuentra en un estado de mantenimiento crítico

Prioridad de la alerta

La prioridad de la alerta que ha generado el monitor.

Alta

Gravedad de la alerta

La prioridad de la alerta que ha generado el monitor.

Crítico

Alerta de resolución automática

Especifica si la alerta debe resolverse automáticamente cuando el monitor devuelva un estado correcto.

Verdadero

Habilitado

Especifica si el monitor debe ejecutarse.

Verdadero

Genera una alerta

Especifica si el monitor debe generar una alerta cuando cambie de un estado crítico a un estado de advertencia.

Verdadero

Intervalo

Número de segundos transcurridos entre las ejecuciones del monitor.

300

Causas

Si este monitor presenta un error, la base de datos no está disponible desde el servidor o la seguridad del monitor no se ha configurado correctamente. Consulte la sección Configuración para obtener más detalles sobre la configuración del monitor.

Si el monitor está configurado correctamente pero se producen errores en el monitor, entonces la base de datos está desconectada o el servidor de base de datos es inaccesible para el servidor de Service Provider Foundation.

Soluciones

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

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
AccessibilityPublic
Alert Message
No se puede conectar a la base de datos de SPF
La conexión a la base de datos de SPF no se realizó correctamente.
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.SpfDatabaseScriptMonitor" 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.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>