Longueur de la file d'attente de tâches

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

Vérifie le nombre de tâches dans la file d'attente de Runbook Worker.

Knowledge Base article:

Résumé

Détermine si la longueur de la file d'attente de tâches a dépassé le seuil spécifié. Cette file d'attente est stockée dans la base de données Service Management Automation, donc l'analyse doit être configurée de sorte à avoir accès à la base de données. Voir la section Configuration pour plus d'informations.

Causes

Si la longueur de la file d'attente de tâches a atteint une limite critique, alors les Worker ne sont pas en mesure de gérer la charge de tâches de manière adéquate. Le taux de soumission de tâches est supérieur au taux de traitement de tâches.

Résolution

Augmente le nombre de rôles Worker.

Configuration

Pour que cette analyse fonctionne correctement, elle doit posséder une autorisation de lecture de la base de données Service Management Automation. Créez un compte d'identification doté d'autorisations de lecture de la base de données et ajoutez-le au profil d'identification appelé compte de base de données de Microsoft Service Management Automation.

Il est possible de configurer les options suivantes sur cette analyse :

Option

Définition

Valeur par défaut

Alerte à l'état

État d'intégrité de l'analyse qui génère une alerte.

Analyse en état d'intégrité critique

Priorité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Moyenne

Gravité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Critique

Résoudre automatiquement l'alerte

Indique si l'alerte doit être automatiquement résolue quand l'analyse repasse dans un état sain.

Vrai

Activé

Indique si l'analyse doit s'exécuter.

Vrai

ErrorThreshold

Nombre de messages dans la file d'attente qui génèrent un état d'intégrité critique.

20

Générer une alerte

Indique si l'analyse doit générer une alerte lors du passage à un état d'avertissement ou critique.

Vrai

Intervalle

Nombre de secondes entre les exécutions de l'analyse.

300

WarningThreshold

Nombre de messages dans la file d'attente qui génèrent un état d'intégrité d'avertissement.

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 longueur de la file d'attente de tâches a dépassé le seuil.
La longueur de la file d'attente de tâches a dépassé le seuil. La dernière valeur mesurée est {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>