MySQL サーバー キー キャッシュ使用割合モニター

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

Knowledge Base article:

概要

現在利用されているキー キャッシュの割合。MyISAM キー キャッシュは、最も使用されるインデックス ブロックを含むデータ構造です。キー キャッシュのサイズは、グローバル変数 key_buffer_size を使用して制御します。このモニターしきい値は、エージェントへのポーリングで返された値の平均値を基準として分析されます。ここで [サンプル数] パラメーターは、平均値の計算に使用されるサンプルの数を制御します。

原因

使用中のキー キャッシュの割合が高くなっていることを、異常な状態が示しています。最近使用されたキー ブロックを格納できるだけの十分なスペースがキー キャッシュになく、最も長く使われていないキー ブロックが引き続きドロップされます。

解決方法

キー キャッシュの使用割合が高い問題に対処するには、構成ファイル内の key_buffer_size の値を大きくします。そのためには、サイズを指定する「key_buffer_size=<サイズ>」という行を、インスタンス グループ オプションの下に追加します。または、オプション "--key_buffer_size=<サイズ>" を指定してサーバーを起動してもかまいません。

構成

既定の構成

パラメーター

既定値

警告しきい値

70 より大きい

エラーしきい値

85 より大きい

サンプル数

3

上記で定義されたパラメーター値は、上書きにより、すべてのインスタンスまたは特定のインスタンスやグループに対して変更できます。

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 サーバー キー キャッシュ使用割合
MySQL サーバーの現在のキー キャッシュ使用割合 ({0}\%) は高くなっています
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>