Monitor del porcentaje de consultas lentas del servidor MySQL
El porcentaje de consultas lentas del servidor MySQL en comparación con todas las consultas. Las consultas lentas son consultas ejecutadas en bases de datos MySQL que tardan más tiempo del especificado en la variable global ‘long_query_time’. Este monitor toma el número de consultas lentas de la variable de estado global ‘Slow_queries’ y divide por el número de consultas de la variable de estado global ‘Queries’. En el caso de MySQL 5.0 y 5.1, el número de consultas equivale a la suma de las siguientes variables de estado globales: ‘Questions’, ‘Com_ping’, ‘Com_statistics’, ‘Com_stmt_prepare’, ‘Com_stmt_close’ y ‘Com_stmt_reset’. El umbral de monitor se analiza con el promedio de valores devueltos en sondeos realizados al agente, donde el parámetro de número de muestras controla el número de muestras incluidas en el cálculo del promedio.
Un estado incorrecto indica que el porcentaje de consultas con un valor superior al especificado en la variable global ‘long_query_time’ es alto.
Para hacer frente al porcentaje alto de consultas lentas, se puede determinar cuáles son estas activando el registro de consultas lentas en el archivo de configuración. Para ello, agregue la línea siguiente junto con la ruta del archivo de registro de destino debajo de las opciones del grupo de instancias: “log-slow-queries= ruta del archivo que se va a registrar”. Si lo prefiere, puede iniciar el servidor con la opción siguiente: “--log-slow-queries=ruta del archivo que se va a registrar”.
Configuración predeterminada
Parámetro | Valor predeterminado |
Umbral de advertencia | Superior a 15 |
Umbral de error | Superior a 25 |
Número de muestras | 3 |
Se pueden usar invalidaciones para cambiar los valores de parámetros definidos anteriormente para todas las instancias o para instancias o grupos específicos.
Target | Microsoft.MySQLServer.ManagedServer.Unix | ||
Parent Monitor | Microsoft.MySQLServer.RowOperationsPerformanceRollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.SlowQueryPct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.RowOperationsPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.SlowQueryPct.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>Slow Query 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(.)='SlowQueryPct']$</Value>
<WarningThreshold>15</WarningThreshold>
<ErrorThreshold>25</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>