Monitor wartości procentowej powolnych zapytań serwera MySQL

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

Knowledge Base article:

Podsumowanie

Wartość procentowa powolnych zapytań serwera MySQL w porównaniu do wszystkich zapytań. Powolne zapytania to takie, których wykonywanie na bazach danych MySQL trwa dłużej niż wartość zmiennej globalnej long_query_time. Ten monitor pobiera liczbę powolnych zapytań ze zmiennej globalnej stanu Slow_queries i dzieli ją przez liczbę zapytań ze zmiennej globalnej stanu Queries. Dla serwera MySQL 5.0 i 5.1 liczba zapytań jest sumą wartości następujących zmiennych globalnych stanu: Questions, Com_ping, Com_statistics, Com_stmt_prepare, Com_stmt_close i Com_stmt_reset. Próg monitora jest analizowany w odniesieniu do średnich wartości zwracanych w sondach do agenta, gdzie parametr Liczba próbek określa liczbę próbek uwzględnionych podczas obliczania średniej.

Przyczyny

Zła kondycja oznacza, że wartość procentowa zapytań, których czas wykonywania jest dłuższy niż wartość zmiennej globalnej long_query_time, jest wysoka.

Rozwiązania

Aby rozwiązań problemy związane z wysoką wartością procentową powolnych zapytań, można włączyć rejestrowanie powolnych zapytań w pliku konfiguracyjnym. W tym celu w obszarze opcji grupy wystąpień należy dodać następujący wiersz wraz ze ścieżką docelowego pliku rejestrowania: log-slow-queries= ścieżka do pliku rejestrowania. Można również uruchomić serwer z następującą opcją: --log-slow-queries=ścieżka do pliku rejestrowania.

Konfiguracja

Konfiguracja domyślna

Parametr

Wartość domyślna

Próg ostrzeżenia

Większy niż 15

Próg błędu

Większy niż 25

Liczba próbek

3

W celu zmiany wartości parametrów zdefiniowanych powyżej dla wszystkich lub określonych wystąpień bądź grup można zastosować zastąpienia.

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
Wartość procentowa powolnych zapytań serwera MySQL
Bieżąca wartość procentowa powolnych zapytań ({0}\%) dla serwera MySQL jest wysoka
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.SlowQueryPct.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.SlowQueryPct.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>Slow Query 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(.)='SlowQueryPct']$</Value>
<WarningThreshold>15</WarningThreshold>
<ErrorThreshold>25</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>