Job Queue Length

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

Runbook Worker 큐의 작업 수를 확인합니다.

Knowledge Base article:

요약

작업 큐 길이가 지정된 임계값을 초과하는지 여부를 확인합니다. 이 큐는 Service Management Automation 데이터베이스에 저장되므로, 모니터가 데이터베이스에 대한 액세스를 보유하도록 구성되어야 합니다. 자세한 내용은 구성 섹션을 참조하십시오.

원인

작업 큐 길이가 위험 제한에 도달하면 Worker에서 작업 부하를 제대로 처리하지 못하게 됩니다. 작업 전송률이 작업 처리율보다 높습니다.

해결 방법

Worker 역할 수를 늘립니다.

구성

이 모니터가 제대로 작동하려면 Service Management Automation 데이터베이스를 읽을 수 있는 권한이 있어야 합니다. 데이터베이스에 대한 읽기 권한이 있는 실행 계정을 만들고 Microsoft Service Management Automation 데이터베이스 계정이라고 하는 실행 프로필에 추가합니다.

이 모니터에 대해 구성할 수 있는 옵션:

옵션

정의

기본값

상태에 대한 경고

경고를 생성하는 모니터의 상태입니다.

모니터가 위험 상태에 있습니다.

경고 우선 순위

이 모니터에 대해 생성된 경고의 우선 순위입니다.

중간

경고 심각도

이 모니터에 대해 생성된 경고의 우선 순위입니다.

위험

경고 자동 해결

모니터가 정상 상태로 돌아올 경우 경고가 자동으로 해결되는지 여부를 지정합니다.

True

사용

모니터를 실행할지 여부를 지정합니다.

True

ErrorThreshold

위험 상태를 생성하는 큐의 메시지 수입니다.

20

경고 생성

경고 또는 위험 상태로 변경될 때 모니터에서 경고를 생성할지 여부를 지정합니다.

True

간격

모니터가 실행되는 시간 사이의 초 수입니다.

300

WarningThreshold

경고 상태를 생성하는 큐의 메시지 수입니다.

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
작업 큐 길이가 임계값을 초과했습니다.
작업 큐 길이가 임계값을 초과했습니다. 마지막으로 측정된 값은 {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>