MySQL-server, övervakning av nyckelcacheanvändning, i procent

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

Knowledge Base article:

Sammanfattning

Procentandelen av nyckelcachen som används för närvarande. MyISAM-nyckelcachen är en datastruktur som innehåller de mest använda indexblocken. Nyckelcachens storlek styrs med hjälp av den globala variabeln "key_buffer_size". Tröskelvärdet för övervakaren analyseras mot ett medeltal av de värden som returneras vid avsökningar till agenten, där parametern Antal prover styr antalet prov som tas med vid beräkning av medelvärdet.

Orsaker

Ett feltillstånd visar att procentandelen av nyckelcachen som används är hög. Nyckelcachen har inte tillräckligt mycket utrymme för att lagra nyligen använda nyckelblock och fortsätter släppa det äldsta nyckelblocket.

Lösningar

Åtgärda en hög användningsprocentandel genom att öka key_buffer_size i konfigurationsfilen. Detta kan göras genom att lägga till följande rad tillsammans med storlek under instansgruppens alternativ: "key_buffer_size=storlek". Som alternativ kan servern startas med följande alternativ: "--key_buffer_size=storlek"

Konfiguration

Standardkonfiguration

Parameter

Standardvärde

Varningströskelvärde

Större än 70

Feltröskelvärde

Större än 85

Antal insamlingar

3

Åsidosättningar kan användas för att ändra parametervärden som har definierats ovan för alla instanser eller för specifika instanser eller grupper.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.KeyCachePerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MySQL-server, nyckelcacheanvändning i procent
Aktuellt procenttal för nyckelcacheanvändning ({0}\%) för MySQL-servern är hög
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheUsePct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.KeyCachePerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.KeyCacheUsePct.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>Key Cache 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(.)='KeyCacheUsePct']$</Value>
<WarningThreshold>70</WarningThreshold>
<ErrorThreshold>85</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>