Lengte takenwachtrij

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

Controleert het aantal taken in de wachtrij van Runbook Worker.

Knowledge Base article:

Samenvatting

Bepaalt of de lengte van de takenwachtrij de opgegeven drempelwaarde heeft overschreden. Omdat deze wachtrij wordt opgeslagen in de Service Management Automation-database, moet de monitor worden geconfigureerd voor toegang tot de database. Zie het gedeelte Configuratie voor meer informatie.

Oorzaken

Als de lengte van de takenwachtrij een kritieke limiet heeft bereikt, kunnen Workers de takenlast niet adequaat verwerken. De snelheid waarmee taken worden ingediend, is hoger dan de snelheid waarmee taken worden verwerkt.

Oplossing

Verhoog het aantal Worker-rollen.

Configuratie

Deze monitor werkt alleen correct als deze leesrechten heeft voor de Service Management Automation-database. Maak een Run As-account met leesrechten voor de database en voeg dit toe aan het Run As-profiel met de naam Microsoft Service Management Automation Database Account.

De volgende opties kunnen worden geconfigureerd op deze monitor:

Optie

Definitie

Standaard

Waarschuwen over status

Status van de monitor die een waarschuwing genereert.

De monitor heeft een kritieke status

Waarschuwingsprioriteit

Prioriteit van de voor deze monitor gegenereerde waarschuwing.

Gemiddeld

Ernst van waarschuwing

Prioriteit van de voor deze monitor gegenereerde waarschuwing.

Kritiek

Waarschuwing automatisch oplossen

Geeft aan of de waarschuwing automatisch moet worden opgelost wanneer de monitor weer een normale status heeft.

True

Ingeschakeld

Geeft aan of de monitor actief moet zijn.

True

FoutDrempelwaarde

Aantal berichten in de wachtrij dat een kritieke status genereert.

20

Genereert waarschuwing

Geeft aan of de monitor een waarschuwing moet genereren wanneer er sprake is van een waarschuwingsstatus of een kritieke status.

True

Interval

Aantal seconden tussen keren dat de monitor wordt uitgevoerd.

300

WarningThreshold

Aantal berichten in de wachtrij dat een waarschuwingsstatus genereert.

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
De lengte van de takenwachtrij heeft de drempelwaarde overschreden.
De lengte van de takenwachtrij heeft de drempelwaarde overschreden. De laatst gemeten waarde is {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>