MySQL Server - Vollständige Tabellenscans (\%) überwachen

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

MySQL-Server – Vollständige Tabellenscans (\%) überwachen

Knowledge Base article:

Zusammenfassung

Der Prozentsatz vollständiger Tabellenscans, die auf dem MySQL-Server durchgeführt wurden. Bei vollständigen Tabellenscan prüft der Server nacheinander jede Zeile der Tabelle auf die Gültigkeit einer Bedingung. Vollständige Tabellenscans können in Tabellen mit einer niedrigen Zeilenanzahl häufig vorkommen. 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.

Ursachen

Ein fehlerhafter Status weist auf einen hohen Prozentsatz an vollständigen Tabellenscans hin. Vollständige Tabellenscans können in Tabellen mit weniger als 10 Zeilen oder einer kurzen Zeilenlänge vorkommen. Vollständige Tabellenscans können auch stattfinden, wenn indizierte Spalten mit konstanten Werten verglichen werden.

Lösungen

Versuchen Sie, einen hohen Prozentsatz von Tabellenscans folgendermaßen zu beheben:

Konfiguration

Standardkonfiguration

Parameter

Standardwert

Warnungsschwellenwert

Größer als 80

Fehlerschwellenwert

Größer als 95

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.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.RowOperationsPerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MySQL-Server – Vollständige Tabellenscans
Der aktuelle Prozentsatz vollständiger Tabellenscans ({0} \%) für den MySQL-Server ist hoch
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.FullTableScanPct.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.FullTableScanPct.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>Full Table Scan 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(.)='FullTableScanPct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>