Longitud de cola de trabajos

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

Comprueba el número de trabajos en la cola del Runbook Worker.

Knowledge Base article:

Resumen

Determina si la longitud de la cola de trabajos ha superado el umbral especificado. Esta cola se almacena en la base de datos de Service Management Automation, por lo que hay que configurar el monitor para que tenga acceso a la base de datos. En la sección Configuración encontrará más información.

Causas

Si la longitud de la cola de trabajos ha alcanzado el límite crítico, los Workers no podrán procesar de forma adecuada la carga de trabajo. La tasa de envío de trabajos es superior a la de procesamiento de trabajos.

Resolución

Aumente el número de roles de Worker.

Configuración

Para que este monitor funcione correctamente, debe tener permiso de lectura para la base de datos de Service Management Automation. Cree una cuenta de ejecución con permisos de lectura para la base de datos y agréguela al perfil de identificación Cuenta de base de datos de Microsoft Service Management Automation.

Se pueden configurar las siguientes opciones en este monitor:

Opción

Definición

Predeterminada

Alerta en estado

Estado de mantenimiento para el monitor que genera una alerta.

El monitor está en un estado de mantenimiento crítico

Prioridad de la alerta

Prioridad de la alerta generada por este monitor.

Intermedia

Gravedad de la alerta

Prioridad de la alerta generada por este monitor.

Crítica

Resolver alerta automáticamente

Especifica si la alerta se debe resolver automáticamente cuando el monitor vuelva a un estado correcto.

Verdadero

Habilitado

Especifica si se debe ejecutar el monitor.

Verdadero

ErrorThreshold

Número de mensajes que debe haber en la cola para generar un estado crítico.

20

Genera alerta

Especifica si el monitor debe generar una alerta al cambiar a un estado crítico o de advertencia.

Verdadero

Intervalo

Número de segundos entre ejecuciones del monitor.

300

WarningThreshold

Número de mensajes que debe haber en la cola para generar un estado de advertencia.

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 longitud de la cola de trabajos ha superado el umbral.
La longitud de la cola de trabajos ha superado el umbral. El último valor medido es {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>