Service Provider Foundation-Datenbankverbindungsmonitor

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

Hiermit wird die Verbindung zwischen dem SPF-Webendpunkt und der SPF-Datenbank überwacht.

Knowledge Base article:

Zusammenfassung

Hiermit wird die Datenbankkonnektivität zu den SPF-Webservern überwacht. Zu diesem Zweck wird in regelmäßigen Abständen eine Testverbindung mit der Service Provider Foundation-Datenbank hergestellt.

Gründe

Wenn bei diesem Monitor ein Fehler auftritt, ist entweder die Datenbank für den Server nicht verfügbar, oder die Sicherheitseinstellungen für den Monitor sind nicht ordnungsgemäß konfiguriert. Details zur Konfiguration des Monitors finden Sie im Abschnitt "Konfiguration".

Wenn der Monitor ordnungsgemäß konfiguriert ist und einen Fehler meldet, ist die Datenbank offline, oder es kann vom Service Provider Foundation-Server nicht auf den Datenbankserver zugegriffen werden.

Auflösung

Überprüfen Sie den Status von Service Provider Foundation-Datenbank und Datenbankserver.

Konfiguration

Damit dieser Monitor ordnungsgemäß funktioniert, benötigt er die Berechtigung zum Lesen der Service Management Automation-Datenbank. Erstellen Sie ein ausführendes Konto mit Leseberechtigungen für die Datenbank, und fügen Sie es dem ausführenden Profil "Microsoft Service Provider Foundation-Datenbankkonto" hinzu.

Die folgenden Optionen können für diesen Monitor konfiguriert werden:

Option

Definition

Standard

Warnung bei Status

Integritätsstatus für den Monitor, bei dem eine Warnung ausgelöst wird

Der Monitor befindet sich im Integritätsstatus "Kritisch".

Warnungspriorität

Priorität der für diesen Monitor generierten Warnung

Hoch

Warnungsschweregrad

Priorität der für diesen Monitor generierten Warnung

Kritisch

Warnung automatisch auflösen

Hiermit wird angegeben, ob die Warnung automatisch aufgelöst werden soll, wenn der Status "Fehlerfrei" für den Monitor wiederhergestellt wird.

Wahr

Aktiviert

Hiermit wird angegeben, ob der Monitor ausgeführt werden soll.

Wahr

Generiert Warnung

Hiermit wird angegeben, ob durch den Monitor eine Warnung generiert werden soll, wenn ein Wechsel in den Status "Warnung" oder "Kritisch" erfolgt.

Wahr

Intervall

Anzahl der Sekunden zwischen den einzelnen Ausführungen des Monitors

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
Verbindung zur SPF-Datenbank konnte nicht hergestellt werden.
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>