Lunghezza della coda del processo

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

Consente di controllare il numero di processi nella coda di Runbook Worker.

Knowledge Base article:

Riepilogo

Determina se la lunghezza della coda del processo ha superato la soglia predefinita. La coda viene archiviata nel database di Service Management Automation, pertanto è necessario configurare l'accesso del monitoraggio al database. Per ulteriori informazioni, vedere la sezione Configurazione.

Cause

Se la lunghezza della coda del processo raggiunge il limite critico, i Worker non saranno in grado di gestire in modo adeguato il carico del processo. La frequenza di invio dei processi è superiore alla frequenza di elaborazione dei processi.

Risoluzione

Aumentare il numero di ruoli del Worker.

Configurazione

Per funzionare nel modo corretto, il monitoraggio deve disporre delle autorizzazioni di lettura del database di Service Management Automation. Creare un account RunAs con autorizzazioni di lettura del database e aggiungerlo al profilo RunAs denominato Account database di Microsoft Service Management Automation.

Nel monitoraggio è possibile configurare le opzioni seguenti:

Opzione

Definizione

Impostazioni predefinite

Avviso stato

Stato di integrità per il monitoraggio che genera un avviso.

Il monitoraggio è in stato di integrità critico

Priorità avviso

Priorità dell'avviso generato per il monitoraggio.

Media

Gravità avviso

Priorità dell'avviso generato per il monitoraggio.

Critica

Risoluzione automatica avviso

Specifica se l'avviso deve essere risolto automaticamente quando il monitoraggio torna in uno stato integro.

Vero

Abilitato

Specifica se il monitoraggio deve essere eseguito.

Vero

ErrorThreshold

Numero di messaggi nella coda che genera uno stato di integrità critico.

20

Genera avviso

Specifica se il monitoraggio deve generare un avviso quando passa da uno stato di avviso a uno stato critico.

Vero

Intervallo

Numero di secondi tra le esecuzioni del monitoraggio.

300

WarningThreshold

Numero di messaggi nella coda che genera uno stato di integrità di avviso.

10

Element properties:

TargetMicrosoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker
Parent MonitorSystem.Health.PerformanceState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceManagementAutomation.2012R2.MonitorType.MessageQueueLength
RemotableTrue
AccessibilityPublic
Alert Message
La lunghezza della coda del processo ha superato la soglia.
La lunghezza della coda del processo ha superato la soglia. Ultimo valore misurato: {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Monitor.MessageQueueLength" Accessibility="Public" Enabled="true" Target="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.MonitorType.MessageQueueLength" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.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>