Service Provider Foundation-databaseverbindingsmonitor

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

Hiermee wordt de verbinding tussen het SPF-webeindpunt en de SPF-database gemonitord.

Knowledge Base article:

Samenvatting

Hiermee wordt de databaseconnectiviteit vanaf de SPF-webservers gemonitord. Dit wordt periodiek gedaan door een testverbinding te maken met de Service Provider Foundation-database.

Configuratie

Deze monitor werkt alleen correct als er toestemming is om de Service Management Automation-database te lezen. Maak een Run As-account met leesmachtiging voor de database en voeg dit toe aan het Run As-profiel met de naam Microsoft Service Provider Foundation-databaseaccount.

De volgende opties kunnen worden geconfigureerd voor deze monitor:

Optie

Definitie

Standaard

Waarschuwen over status

Status van de monitor waarbij een waarschuwing wordt gegenereerd.

De monitor heeft een kritieke status

Prioriteit van waarschuwingen

Prioriteit van de waarschuwing die voor deze monitor wordt gegenereerd

Hoog

Ernst van waarschuwingen

Prioriteit van de waarschuwing die voor deze monitor wordt gegenereerd

Kritiek

Waarschuwing automatisch oplossen

Hiermee wordt aangegeven of de waarschuwing automatisch moet worden opgelost wanneer de monitor een goede status retourneert.

Waar

Ingeschakeld

Hiermee wordt aangegeven of de monitor moet worden uitgevoerd.

Waar

Genereert waarschuwing

Hiermee wordt aangegeven of de monitor een waarschuwing moet genereren wanneer wordt overgeschakeld naar een waarschuwing of kritieke status.

Waar

Interval

Het aantal seconden tussen de tijden waarop de monitor wordt uitgevoerd.

300

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 het gedeelte Configuratie voor details over het configureren van de monitor.

Als de monitor juist is geconfigureerd en de monitor een foutstatus heeft, is de database offline of heeft de Service Provider Foundation-server geen toegang tot de databaseserver.

Oplossingen

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

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
Kan geen verbinding maken met SPF-database
Verbinding met SPF-database is niet gelukt.
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>