Comprueba el número de trabajos en la cola del Runbook Worker.
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.
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.
Aumente el número de roles de Worker.
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 |
Target | Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.MonitorType.MessageQueueLength | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>