Länge der Auftragswarteschlange

Microsoft.SystemCenter.ServiceManagementAutomation.Monitor.MessageQueueLength (UnitMonitor)

Hiermit wird die Anzahl der Aufträge in der Runbook Worker-Warteschlange überprüft.

Knowledge Base article:

Zusammenfassung

Diese Warteschlange ist in der Service Management Automation-Datenbank gespeichert, weswegen für den Monitor der Zugriff auf die Datenbank konfiguriert sein muss. Informationen finden Sie im Abschnitt "Konfiguration".

Gründe

Wenn für die Länge der Auftragswarteschlange das kritische Limit erreicht wurde, kann die Auftragslast nicht mehr angemessen von den Workern verwaltet werden. Es werden mehr Aufträge übermittelt, als bearbeitet werden.

Auflösung

Erhöhen Sie die Anzahl der Workerrollen.

Konfiguration

Damit dieser Monitor richtig 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 Management Automation-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

Moderat

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

ErrorThreshold

Anzahl der Meldungen in der Warteschlange, bei der ein Integritätsstatus "Kritisch" generiert wird.

20

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

WarningThreshold

Anzahl der Meldungen in der Warteschlange, bei der ein Integritätsstatus "Warnung" generiert wird.

10

Element properties:

TargetMicrosoft.SystemCenter.ServiceManagementAutomation.Server.RunbookWorker
Parent MonitorSystem.Health.PerformanceState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceManagementAutomation.MonitorType.MessageQueueLength
RemotableTrue
AccessibilityPublic
Alert Message
Die Länge der Auftragswarteschlange hat den Schwellenwert überschritten.
Die Länge der Auftragswarteschlange hat den Schwellenwert überschritten. Letzter gemessener Wert: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.ServiceManagementAutomation.Monitor.MessageQueueLength" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.ServiceManagementAutomation.Server.RunbookWorker" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceManagementAutomation.MonitorType.MessageQueueLength" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.ServiceManagementAutomation.Monitor.MessageQueueLength.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="OverWarningThreshold" MonitorTypeStateID="OverWarningThreshold" HealthState="Warning"/>
<OperationalState ID="OverErrorThreshold" MonitorTypeStateID="OverErrorThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<DatabaseServer>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseServerName$</DatabaseServer>
<DatabaseInstance>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseServerInstance$</DatabaseInstance>
<DatabaseName>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseName$</DatabaseName>
<WarningThreshold>10</WarningThreshold>
<ErrorThreshold>20</ErrorThreshold>
</Configuration>
</UnitMonitor>