Övervakning av anslutning till Service Provider Foundation-databas

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

Övervakar anslutningen mellan SPF-webbslutpunkten och SPF-databasen.

Knowledge Base article:

Sammanfattning

Övervakar databasanslutningen från SPF-webbservrar. Det här görs genom att regelbundet testa anslutningen till Service Provider Foundation-databasen.

Orsaker

Om övervakaren uppvisar fel är antingen inte databasen tillgänglig från servern eller också har säkerheten för övervakaren inte konfigurerats rätt. Information om hur du konfigurerar övervakaren finns i konfigurationsavsnittet.

Om övervakaren är rätt konfigurerad och ändå uppvisar fel, kan det bero på att databasen är offline eller på att databasservern inte kan nås från Service Provider Foundation-servern.

Lösning

Kontrollera statusen på Service Provider Foundation-databasen och databasservern.

Konfiguration

För att övervakaren ska fungera måste den ha behörighet att läsa Service Management Automation-databasen. Skapa ett Kör som-konto med läsbehörighet för databasen och lägg till det i Kör som-kontoprofilen med namnet Microsoft Service Provider Foundation-databaskonto.

Följande alternativ kan konfigureras i den här övervakaren:

Alternativ

Definition

Standard

Tillstånd att avisera vid

Hälsotillstånd för övervakaren som genererar en avisering.

Övervakarens hälsotillstånd är kritiskt

Aviseringsprioritet

Prioritet för aviseringen som skapades för den här övervakaren.

Hög

Allvarlighetsgrad för avisering

Prioritet för aviseringen som skapades för den här övervakaren.

Kritisk

Lös avisering automatiskt

Anger huruvida aviseringen ska lösas automatiskt när övervakaren återgår till felfritt tillstånd.

Sant

Aktiverat

Anger huruvida övervakaren ska köras.

Sant

Genererar avisering

Anger huruvida övervakaren ska generera en avisering vid ändring till varningstillstånd eller kritiskt tillstånd.

Sant

Intervall

Antal sekunder mellan varje körning av övervakaren.

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
Det gick inte att ansluta till SPF-databasen.
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>