Monitor voor de Service Provider Foundation-databaseverbinding

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

Bewaakt de verbinding tussen het SPF-webeindpunt en de SPF-database.

Knowledge Base article:

Samenvatting

Bewaakt de databaseconnectiviteit vanaf de SPF-webservers. Dit gebeurt door periodiek een testverbinding tot stand te brengen met de Service Provider Foundation-database.

Oorzaken

Als deze monitor een foutstatus heeft, is de database niet beschikbaar vanaf de server of is de beveiliging voor de monitor niet juist geconfigureerd. Zie de sectie Configuratie meer informatie over het configureren van de monitor.

Als deze monitor correct is geconfigureerd en de monitor een foutstatus heeft, is de database offline of is de databaseserver niet toegankelijk voor de Service Provider Foundation-server.

Oplossing

Controleer de status van de Service Provider Foundation-database en de databaseserver.

Configuratie

Deze monitor werkt alleen correct als deze leesrechten heeft voor de Service Management Automation-database. Maak een Run As-account met leesrechten voor de database en voeg dit toe aan het Run As-profiel met de naam Microsoft Service Provider Foundation Database Account.

De volgende opties kunnen voor deze monitor worden geconfigureerd:

Optie

Definitie

Standaard

Waarschuwen over status

Status van de monitor die een waarschuwing genereert.

De monitor heeft een kritieke status

Waarschuwingsprioriteit

Prioriteit van de voor deze monitor gegenereerde waarschuwing.

Hoog

Ernst van waarschuwing

Prioriteit van de voor deze monitor gegenereerde waarschuwing.

Kritiek

Waarschuwing automatisch oplossen

Geeft aan of de waarschuwing automatisch moet worden opgelost wanneer de monitor weer een normale status heeft.

Waar

Ingeschakeld

Geeft aan of de monitor actief moet zijn.

Waar

Genereert waarschuwing

Geeft aan of de monitor een waarschuwing moet genereren wanneer er sprake is van een waarschuwingsstatus of een kritieke status.

Waar

Interval

Aantal seconden tussen keren dat de monitor wordt uitgevoerd.

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
De verbinding met de SPF-database is mislukt.
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>