MySQL Server – a lassú lekérdezések százalékos arányának figyelése

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

Knowledge Base article:

Összefoglalás

A MySQL Server lassú lekérdezéseinek százalékos aránya az összes lekérdezéshez képest. A lassú lekérdezések a MySQL-adatbázison futtatott olyan lekérdezések, amelyek a long_query_time globális változóval megadott értéknél hosszabb időt vesznek igénybe. A figyelő a Slow_queries globális állapotváltozóból nyeri a lassú lekérdezések számát, és elosztja a Queries globális állapotváltozóban megadott lekérdezésszámmal. A MySQL 5.0 és 5.1 verziónál a lekérdezések száma az alábbi globális állapotváltozók értékének összege: Questions, Com_ping , Com_statistics, Com_stmt_prepare, Com_stmt_close és Com_stmt_reset. A figyelő küszöbértékének elemzése az ügynök lekérdezéseikor visszaadott értékek átlagához képest történik, ahol az átlagszámításhoz használt minták számát a Minták száma paraméter határozza meg.

Okok

A hibás állapotot az jelzi, ha a lekérdezések százalékos aránya magasabb, mint a long_query_time globális változóval megadott érték.

Megoldások

Ha túl magas a lassú lekérdezések százalékos aránya, a probléma megoldásához határozza meg a lassú lekérdezéseket. Ehhez kapcsolja be a beállításfájlban a lassú lekérdezések naplózását. Ezt úgy teheti meg, hogy felveszi a következő sort és a megfelelő naplófájl-elérési utat a példány csoportbeállításai közé: log-slow-queries= a naplófájl elérési útja. A másik módszer, ha a következő beállítással indítja el a kiszolgálót: ­­log-slow-queries=a naplófájl elérési útja.

Beállítások

Alapértelmezett beállítások

Paraméter

Alapértelmezett érték

Figyelmeztetési küszöbérték

Nagyobb mint 15

Hiba küszöbértéke

Nagyobb mint 25

Minták száma

3

A fent definiált paraméterértékek felülbírálásokkal módosíthatók az összes példány, illetve adott példányok vagy csoportok esetében.

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
MySQL Server – a lassú lekérdezések százalékos aránya
A MySQL Server esetén pillanatnyilag a lassú lekérdezések százalékos aránya ({0}\%) magas.
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>