Monitor gebruikspercentage buffergroep van MySQL-server

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

Knowledge Base article:

Samenvatting

Het percentage van de buffergroep dat momenteel wordt gebruikt. De InnoDB-buffergroep bevat de minst recent gebruikte indexblokken. De grootte van de buffergroep wordt bepaald met de globale variabele innodb_buffer_pool_size. De monitordrempelwaarde wordt geanalyseerd tegen het gemiddelde van de waarden die in peilingen aan de agent worden geretourneerd. De parameter Aantal steekproeven bepaalt het aantal steekproeven dat bij de berekening van het gemiddelde is opgenomen.

Oorzaken

Een slechte status geeft aan dat het gebruikspercentage voor de InnoDB-buffergroep hoog is. Mogelijk is er voor de buffergroep onvoldoende ruimte beschikbaar om alle ingevoegde sleutelblokken te bevatten.

Oplossingen

Als u het hoge gebruikspercentage van de buffergroep wilt verhelpen, vergroot u de InnoDB-buffergroep door de variabele innodb_buffer_pool_size in het configuratiebestand aan te passen.

Configuratie

Standaardconfiguratie

Parameter

Standaardwaarde

Waarschuwingsdrempel

Groter dan 80

Drempelwaarde voor fouten

Groter dan 95

Aantal steekproeven

3

Met onderdrukkingen kunnen de hierboven gedefinieerde parameterwaarden worden gewijzigd voor alle exemplaren of voor specifieke exemplaren of groepen.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.InnoDBPerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Gebruikspercentage InnoDB-buffergroep van MySQL-server
Het huidige gebruikspercentage ({0}\%) voor de InnoDB-buffergroep voor de MySQL-server is hoog
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.InnoDB_BufferPool_UsePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.InnoDBPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.InnoDB_BufferPool_UsePct.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>InnoDB Buffer Pool 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(.)='IDB_BP_UsePct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>