Monitor de Porcentagem de Uso do Cache de Tabela do Servidor MySQL

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

Knowledge Base article:

Resumo

A porcentagem do cache de tabela utilizada no momento. O cache de tabela no Servidor MySQL contém descritores de arquivo para as tabelas abertas no momento. Quando não é possível encontrar uma tabela no cache, o MySQL carrega a tabela no cache e fecha a tabela na conclusão do processo. O tamanho do cache de tabela é determinado pela variável “table_cache”. O limite do monitor é analisado em relação a uma média de valores retornados em sondagens no agente, em que o parâmetro Número de Amostras controla o número de amostras incluídas no cálculo da média.

Causas

Um estado não íntegro indica que o percentual de uso do cache de tabela está alto. O cache de tabela pode não ter espaço suficiente para manter todas as tabelas abertas.

Resoluções

Para resolver uma porcentagem alta de uso do cache de tabela, modifique variável de tamanho do cache de tabela “table_cache”.

Configuração

Configuração Padrão

Parâmetro

Valor padrão

Limite de Aviso

Maior que 85

Limite de Erro

Maior que 95

Número de Amostras

3

As substituições podem ser usadas para alterar os valores de parâmetros definidos acima para todas as instâncias ou para instâncias ou grupos específicos.

Element properties:

TargetMicrosoft.MySQLServer.ManagedServer.Unix
Parent MonitorMicrosoft.MySQLServer.TableCachePerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Porcentagem de Uso do Cache de Tabela do Servidor MySQL
A Porcentagem atual de Uso do Cache de Tabela ({0}\%) do Servidor MySQL está alta
RunAsDefault

Source Code:

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