Zkontroluje počet úloh ve frontě služby Runbook Worker.
Určuje, zda délka fronty úloh nepřekročila stanovenou prahovou hodnotu. Tato fronta je uložena v databázi služby Service Management Automation. Monitorování musí být proto nakonfigurováno tak, aby mělo k databázi přístup. Další informace naleznete v části Konfigurace.
Pokud délka fronty úloh dosáhne kritické meze, nebudou moci pracovní procesy adekvátně zvládnout pracovní zátěž. Úlohy jsou odesílány rychleji, než jaká je rychlost zpracování úloh.
Zvyšte počet rolí pracovních procesů.
Aby toto monitorování fungovalo správně, musí mít oprávnění ke čtení pro databázi služby Service Management Automation. Vytvořte účet Spustit jako, který bude mít pro databázi oprávnění ke čtení, a přidejte jej do profilu Spustit jako s názvem Microsoft Service Management Automation – účet databáze.
Pro toto monitorování lze nakonfigurovat následující možnosti:
Možnost | Definice | Výchozí |
Výstraha stavu | Stav monitorování, který generuje výstrahu | Monitorování má kritický stav. |
Priorita výstrahy | Priorita výstrahy generované tímto monitorováním | Střední |
Závažnost výstrahy | Priorita výstrahy generované tímto monitorováním | Kritická |
Automaticky vyřešená výstraha | Určuje, zda má být výstraha automaticky vyřešena, pokud se monitorování vrátí do bezproblémového stavu. | Pravda |
Povoleno | Určuje, zda má být monitorování spuštěno. | Pravda |
ErrorThreshold | Počet zpráv ve frontě, který generuje kritický stav | 20 |
Generuje výstrahy | Určuje, zda má monitorování generovat výstrahy, pokud se stav změní na Upozornění nebo Kritický stav. | Pravda |
Interval | Počet sekund mezi jednotlivými spuštěními monitorování | 300 |
WarningThreshold | Počet zpráv ve frontě, který generuje stav Upozornění | 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>