Analyse du pourcentage d'utilisation des connexions du serveur MySQL

Microsoft.MySQLServer.ManagedServer.Unix.ConnectionsUsePct.Monitor (UnitMonitor)

Knowledge Base article:

Résumé

Pourcentage des connexions du serveur MySQL actuellement utilisées. Le serveur MySQL autorise une quantité limitée de connexions définie par la variable globale max_connections. Cette analyse récupère le nombre de connexions de la variable d'état « Threads_connected » et le divise par la variable max_connections. Le seuil d'analyse est comparé à la moyenne des valeurs retournées sous forme de sondages à l'agent, où le paramètre Nombre d'échantillons contrôle le nombre d'échantillons inclus dans le calcul de la moyenne.

Causes

Un état non intègre indique que le pourcentage de connexions actuelles sur le serveur MySQL est actuellement élevé. Ce problème est probablement dû à une quantité excessive de connexions au serveur MySQL ou à une fermeture incorrecte des connexions.

Résolutions

La variable globale max_connections détermine le nombre maximum de connexions simultanées à MySQL. Si vous augmentez cette valeur, vous devez redémarrer le serveur MySQL. Au lieu d'ajuster cette valeur, vous pouvez vérifier que les connexions client n'utilisent pas les connexions permanentes de manière incorrecte. Le seuil d'analyse est comparé à la moyenne des valeurs retournées sous forme de sondages à l'agent, où le paramètre Nombre d'échantillons contrôle le nombre d'échantillons inclus dans le calcul de la moyenne.

Configuration

Configuration par défaut

Paramètre

Valeur par défaut

Seuil d'avertissement

Supérieur à 80

Seuil d'erreur

Supérieur à 90

Nombre d’échantillons

3

Les remplacements permettent de modifier les valeurs de paramètre définies ci-dessus pour toutes les instances ou pour des instances ou groupes spécifiques.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.ConnectionsPerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Pourcentage d'utilisation des connexions du serveur MySQL
Le pourcentage d'utilisation des connexions actuel ({0} \%) pour le serveur MySQL est élevé
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.ConnectionsUsePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.ConnectionsPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.ConnectionsUsePct.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="StatusOK" ID="UnderThreshold"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="StatusWarning" ID="OverWarningThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="StatusError" ID="OverErrorThreshold"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/MySQL_ServerStatistics?__cimnamespace=root/mysql</Uri>
<WSManFilter/>
<ObjectName>MySQL Server</ObjectName>
<CounterName>Connection Use Pct</CounterName>
<InstanceXPath>/DataItem/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='InstanceID']</InstanceXPath>
<InstanceName>$Target/Property[Type="Microsoft.MySQLServer.Installation"]/InstanceID$</InstanceName>
<Value>$Data/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='ConnectionsUsePct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>90</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>