MySQL-Server – Langsame Abfragen (\%) überwachen
Der Prozentsatz langsamer MySQL-Serverabfragen im Vergleich zu allen Abfragen. Langsame Abfragen sind in MySQL-Datenbanken ausgeführte Abfragen, die länger brauchen als durch die globale Variable "long_query_time" festgelegt. Dieser Monitor ruft die Anzahl langsamer Abfragen aus der globalen Statusvariablen "Slow_queries" ab und teilt diese durch die Anzahl von Abfragen aus der globalen Statusvariablen "Queries". Für MySQL 5.0 und 5.1 ist die Anzahl von Abfragen die Summe der folgenden globalen Statusvariablen: "Questions", "Com_ping", "Com_statistics", "Com_stmt_prepare", "Com_stmt_close" und "Com_stmt_reset". Der Schwellenwert des Monitors wird anhand eines Durchschnitts der Werte analysiert, die nach dem Abrufen vom Agent zurückgegeben werden. Dabei wird die Anzahl der Abtastungen, die in die Berechnung des Durchschnitts einfließen, über den Parameter "Anzahl der Abtastungen" gesteuert.
Ein fehlerhafter Status weist darauf hin, dass ein hoher Prozentsatz von Abfragen größer ist als durch die globale Variable "long_query_time" festgelegt.
Um einen hohen Prozentsatz langsamer Abfragen zu beheben, können langsame Abfragen ermittelt werden, indem Sie die Protokollierung langsamer Abfragen in der Konfigurationsdatei aktivieren. Fügen Sie dazu unter den Optionen der Instanzengruppe die folgende Zeile zusammen mit einem Pfad zur Zielprotokolldatei hinzu: "log-slow-queries= Dateipfad zum Protokoll". Alternativ dazu kann der Server mit der folgenden Option gestartet werden: "--log-slow-queries=Dateipfad zum Protokoll".
Standardkonfiguration
Parameter | Standardwert |
Warnungsschwellenwert | Größer als 15 |
Fehlerschwellenwert | Größer als 25 |
Anzahl der Stichproben | 3 |
Die oben für alle Instanzen oder für eine bestimmte Instanz oder Gruppe definierten Parameterwerte können mithilfe von Außerkraftsetzungen geändert werden.
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>