Monitorování databázového připojení Service Provider Foundation

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

Monitoruje připojení mezi webovým koncovým bodem Service Provider Foundation a databází Service Provider Foundation.

Knowledge Base article:

Souhrn

Monitoruje připojení databází z webových serverů Service Provider Foundation. Provádí se periodicky na základě zkušebních připojení k databázi Service Provider Foundation.

Konfigurace

Aby toto monitorování fungovalo správně, musí mít oprávnění ke čtení databáze služby Service Management Automation. Vytvořte účet Spustit jako, který má oprávnění ke čtení databáze, a přidejte ho do profilu Spustit jako s názvem Účet databáze Microsoft Service Provider Foundation.

V tomto monitorování se dají nastavit následující možnosti:

Možnost

Definice

Výchozí

Výstraha stavu

Stav monitoru, který generuje výstrahu

Monitor je v kritickém stavu.

Priorita výstrah

Priorita výstrah generovaných pro tento monitor

Vysoká

Závažnost výstrahy

Priorita výstrah generovaných pro tento monitor

Kritická

Automaticky vyřešená výstraha

Určuje, jestli se má výstraha automaticky vyřešit, když se monitor vrátí do funkčního stavu.

True

Povoleno

Určuje, jestli se má monitor spustit.

True

Generuje výstrahy

Určuje, jestli má monitor při změně do stavu upozornění nebo kritického stavu generovat výstrahu.

True

Interval

Počet sekund mezi časy spuštění monitoru

300

Příčiny

Pokud má toto monitorování chybový stav, není dostupná databáze ze serveru nebo není správně nakonfigurované zabezpečení monitorování. Podrobnosti o konfiguraci monitoru najdete v části Konfigurace.

Pokud je monitorování správně nakonfigurované a je v chybovém stavu, znamená to, že je databáze offline nebo že databázový server není dostupný pro server Service Provider Foundation.

Řešení

Zkontrolujte stav databáze Service Provider Foundation a databázového serveru.

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
Nejde se připojit k databázi Service Provider Foundation.
Připojení k databázi Service Provider Foundation se nepovedlo.
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>