MySQL Server Yavaş Sorgu Yüzdesi İzleyicisi

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

Knowledge Base article:

Özet

MySQL Server yavaş sorgularının tüm sorgulara oranla yüzdesi. Yavaş sorgular, MySQL Veritabanlarında çalıştırılan, genel 'long_query_time' değişkeninden daha uzun süre alan sorgulardır. Bu izleyici, genel 'Slow_queries' durum değişkeninden yavaş sorguların sayısını alır ve bunu genel 'Queries' durum değişkenindeki sorgu sayısına böler. MySQL 5.0 ve 5.1 için, sorguların sayısı aşağıdaki genel durum değişkenlerinin toplamıdır: ‘Questions’, ‘Com_ping’, ‘Com_statistics’, ‘Com_stmt_prepare’, ‘Com_stmt_close’ ve ‘Com_stmt_reset’. İzleme eşiği, yoklamalarda aracıya döndürülen değerlerin bir ortalamasına göre çözümlenir; burada Örnek Sayısı parametresi, ortalamanın hesaplanmasında kullanılan örneklerin sayısını denetler.

Nedenler

Sağlıksız bir durum, genel ‘long_query_time’ değişkeninden büyük olan sorguların yüzdesinin yüksek olduğunu gösterir.

Çözümler

Yüksek yavaş sorgu yüzdesi sorununu çözmek için, yapılandırma dosyasında yavaş sorgular yavaş sorgu günlüğü tutma açılarak belirlenebilir. Bu, örnek grubu seçenekleri bölümüne aşağıdaki satırla birlikte hedef günlük dosyası da eklenerek yapılabilir: “log-slow-queries=günlüğün dosya yolu”. Diğer bir seçenek olarak, sunucu aşağıdaki seçenekle başlatılabilir: “--log-slow-queries=günlüğün dosya yolu”.

Yapılandırma

Varsayılan Yapılandırma

Parametre

Varsayılan Değer

Uyarı Eşiği

15'ten büyük

Hata Eşiği

25'ten büyük

Örnek Sayısı

3

Geçersiz kılmalar, tüm örnekler veya belirli örnekler ya da gruplar için yukarıda tanımlanan parametre değerlerini değiştirmek üzere kullanılabilir.

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 Yavaş Sorgu Yüzdesi
MySQL Server'ın geçerli Yavaş Sorgu Yüzdesi ({0}\%) düşük
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>