Azure SQL Analytics kullanarak Azure SQL Veritabanını izleme (önizleme)

ŞUNLAR IÇIN GEÇERLIDIR: Azure SQL Veritabanı, Azure SQL Yönetilen Örneği

Dikkat

Azure SQL Analytics (önizleme), birçok izleme çözümünün artık etkin geliştirme aşamasında olmadığı Azure İzleyici ile tümleştirmedir. Daha fazla izleme seçeneği için bkz. Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde izleme ve performans ayarlama.

Azure SQL Analytics (önizleme), tüm Azure SQL veritabanlarınızın büyük ölçekte ve birden çok abonelikteki performansını tek bir görünümde izlemeye yönelik gelişmiş bir bulut izleme çözümüdür. Azure SQL Analytics, performans sorunlarını gidermeye yönelik yerleşik zeka ile önemli performans ölçümlerini toplar ve görselleştirir.

Toplanan bu ölçümleri kullanarak özel izleme kuralları ve uyarıları oluşturabilirsiniz. Azure SQL Analytics, uygulama yığınınızın her katmanındaki sorunları belirlemenize yardımcı olur. Azure SQL Analytics, tek bir Log Analytics çalışma alanında tüm Azure SQL veritabanlarınızla ilgili verileri sunmak için Azure Tanılama ölçümleri ve Azure İzleyici görünümlerini kullanır. Azure İzleyici, yapılandırılmış ve yapılandırılmamış verileri toplamanıza, ilişkilendirmenize ve görselleştirmenize yardımcı olur.

Bağlı kaynaklar

Azure SQL Analytics, tüm Azure SQL veritabanlarınız için tanılama telemetrisi akışını destekleyen yalnızca buluta yönelik bir izleme çözümüdür. Azure SQL Analytics, Azure İzleyici'ye bağlanmak için aracıları kullanmadığından, şirket içinde veya sanal makinelerde barındırılan SQL Server izlenmesini desteklemez.

Bağlı Kaynak Desteklenir Description
Tanılama ayarları Evet Azure ölçüm ve günlük verileri doğrudan Azure tarafından Azure İzleyici Günlüklerine gönderilir.
Azure depolama hesabı No Azure İzleyici bir depolama hesabından verileri okumaz.
Windows aracıları No Doğrudan Windows aracıları Azure SQL Analytics tarafından kullanılmaz.
Linux aracıları No Doğrudan Linux aracıları Azure SQL Analytics tarafından kullanılmaz.
System Center Operations Manager yönetim grubu No Operations Manager aracısından Azure İzleyici'ye doğrudan bağlantı, Azure SQL Analytics tarafından kullanılmaz.

Azure SQL Analytics seçenekleri

Aşağıdaki tabloda biri Azure SQL Veritabanı, diğeri de Azure SQL Yönetilen Örneği veritabanları için Azure SQL Analytics panosunun iki sürümü için desteklenen seçenekler özetlenmiştir.

Azure SQL Analytics seçeneği Description SQL Veritabanı desteği SQL Yönetilen Örneği desteği
Türe göre kaynak İzlenen tüm kaynakları sayan perspektif. Yes Yes
Insights Akıllı İçgörüler'de performansa yönelik hiyerarşik detaya gitme olanağı sağlar. Yes Yes
Hatalar Veritabanlarında gerçekleşen SQL hatalarında hiyerarşik detaya gitme sağlar. Yes Yes
Zaman aşımları Veritabanlarında gerçekleşen SQL zaman aşımlarında hiyerarşik detaya gitme sağlar. Yes Hayır
Engellemeler Veritabanlarında gerçekleşen SQL engellemelerinde hiyerarşik detaya gitme sağlar. Yes Hayır
Veritabanı beklemeleri Veritabanı düzeyinde SQL bekleme istatistiklerinde hiyerarşik detaya gitme sağlar. Toplam bekleme süresi ve bekleme türü başına bekleme süresi özetlerini içerir. Yes Hayır
Sorgu süresi Sorgu süresi, CPU kullanımı, Veri GÇ kullanımı, Günlük GÇ kullanımı gibi sorgu yürütme istatistiklerinde hiyerarşik detaya gitme sağlar. Yes Yes
Sorgu beklemeleri Sorgu bekleme istatistiklerinde bekleme kategorisine göre hiyerarşik detaya gitme sağlar. Yes Yes

Azure SQL Analytics yapılandırması (önizleme)

Log Analytics çalışma alanınıza Azure SQL Analytics (Önizleme) eklemek için Çözüm Galerisi'nden Azure İzleyici çözümleri ekleme bölümünde açıklanan işlemi kullanın.

Tanılama telemetrisini akışla aktarmak için Azure SQL Veritabanını yapılandırma

Çalışma alanınızda Azure SQL Analytics çözümünü oluşturduktan sonra, izlemek istediğiniz her kaynağı tanılama telemetrisini Azure SQL Analytics'e akışla aktaracak şekilde yapılandırmanız gerekir. Bu sayfadaki ayrıntılı yönergeleri izleyin:

Yukarıdaki sayfada, tek bir Azure SQL Analytics çalışma alanından tek bir cam bölme olarak birden çok Azure aboneliğini izleme desteğinin etkinleştirilmesi hakkında yönergeler de sağlanmaktadır.

Azure SQL Analytics'i kullanma (önizleme)

Log Analytics çalışma alanının Eski çözümler sayfasından SQL Analytics dağıtımınıza gidin.

Azure SQL Analytics iki ayrı görünüm sağlar: biri izleme SQL Veritabanı, diğeri de izleme SQL Yönetilen Örneği için.

Azure SQL Analytics verilerini görüntüleme

Pano, farklı perspektifler üzerinden izlenen tüm veritabanlarına genel bakış içerir. Farklı perspektiflerin çalışması için, SQL kaynaklarınızda Log Analytics çalışma alanına akışla aktarılacak doğru ölçümleri veya günlükleri etkinleştirmeniz gerekir.

Bazı ölçümler veya günlükler Azure İzleyici'ye akışla aktarılmıyorsa Azure SQL Analytics'teki kutucuklar izleme bilgileriyle doldurulmuyor.

SQL Veritabanı görünümü

Veritabanı için Azure SQL Analytics kutucuğu seçildikten sonra izleme panosu gösterilir.

İzleme panosunu gösteren ekran görüntüsü.

Kutucuklardan herhangi birini seçtiğinizde, belirli bir perspektifte bir detaya gitme raporu açılır. Perspektif seçildikten sonra detaya gitme raporu açılır.

Detaya gitme raporunu belirli bir perspektifte gösteren ekran görüntüsü.

Bu görünümdeki her perspektif abonelik, sunucu, elastik havuz ve veritabanı düzeylerinde özetler sağlar. Ayrıca, her perspektif sağdaki rapora özgü bir perspektif gösterir. Listeden abonelik, sunucu, havuz veya veritabanı seçildiğinde detaya gitme işlemi devam eder.

SQL Yönetilen Örneği görünümü

Veritabanları için Azure SQL Analytics kutucuğu seçildikten sonra izleme panosu gösterilir.

Azure SQL Analytics'e Genel Bakış

Kutucuklardan herhangi birini seçtiğinizde, belirli bir perspektifte bir detaya gitme raporu açılır. Perspektif seçildikten sonra detaya gitme raporu açılır.

SQL Yönetilen Örneği görünümünü seçtiğinizde yönetilen örnekte yürütülen sorgularda örnek kullanımı, örnek veritabanları ve telemetri ile ilgili ayrıntılar gösterilir.

Azure SQL Analytics Zaman Aşımları

Akıllı İçgörüler raporu

Azure SQL Veritabanı Akıllı İçgörüleri, tüm Azure SQL veritabanlarının performansında neler olduğunu size bildirir. Toplanan tüm Akıllı İçgörüler, İçgörüler perspektifinden görselleştirilebilir ve erişilebilir.

Azure SQL Analytics İçgörüleri

Elastik havuzlar ve veritabanı raporları

Hem elastik havuzların hem de veritabanlarının, belirtilen zamanda kaynak için toplanan tüm verileri gösteren kendi özel raporları vardır.

Azure SQL Analytics Veritabanı

elastik havuzu Azure SQL

Raporları sorgulama

Sorgu süresi ve sorgu bekleme perspektifleri aracılığıyla, sorgu raporu aracılığıyla herhangi bir sorgunun performansını ilişkilendirebilirsiniz. Bu rapor farklı veritabanlarındaki sorgu performansını karşılaştırır ve seçilen sorguyu iyi gerçekleştiren veritabanlarını ve yavaş olan veritabanlarını belirlemeyi kolaylaştırır.

Azure SQL Analytics Sorguları

İzinler

Azure SQL Analytics'i (önizleme) kullanmak için kullanıcılara Azure'da Okuyucu rolü için en düşük iznin verilmesi gerekir. Ancak bu rol kullanıcıların sorgu metnini görmesine veya Otomatik ayarlama eylemleri gerçekleştirmesine izin vermez. Azure'da Azure SQL Analytics'i en kapsamlı şekilde kullanmaya olanak sağlayan daha izin veren roller Sahip, Katkıda Bulunan, SQL DB Katkıda Bulunanı veya SQL Server Katkıda Bulunan'dır. Ayrıca portalda yalnızca Azure SQL Analytics'i kullanmak için gereken ve diğer kaynakları yönetmeye erişimi olmayan belirli izinlere sahip özel bir rol oluşturmayı da düşünebilirsiniz.

Portalda özel rol oluşturma

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Bazı kuruluşların Azure'da katı izin denetimlerini zorunlu kıldığını fark ederek, Azure SQL Analytics'i en üst düzeyde kullanmak için gereken en düşük okuma ve yazma izinleriyle Azure portal'de "SQL Analytics İzleme operatörü" özel rolünün oluşturulmasını sağlayan aşağıdaki PowerShell betiğini bulun.

Aşağıdaki betikteki "{SubscriptionId}" değerini Azure abonelik kimliğiniz ile değiştirin ve Azure'da Sahip veya Katkıda Bulunan rolü olarak oturum açmış betiği yürütebilirsiniz.

 Connect-AzAccount
 Select-AzSubscription {SubscriptionId}
 $role = Get-AzRoleDefinition -Name Reader
 $role.Name = "SQL Analytics Monitoring Operator"
 $role.Description = "Lets you monitor database performance with Azure SQL Analytics as a reader. Does not allow change of resources."
 $role.IsCustom = $true
 $role.Actions.Add("Microsoft.SQL/servers/databases/read");
 $role.Actions.Add("Microsoft.SQL/servers/databases/topQueries/queryText/*");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/write");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/write");
 $role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/write");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/read");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/write");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/read");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/write");
 $role.Actions.Add("Microsoft.Resources/deployments/write");
 $role.AssignableScopes = "/subscriptions/{SubscriptionId}"
 New-AzRoleDefinition $role

Yeni rol oluşturulduktan sonra, Azure SQL Analytics'i kullanmak için özel izinler vermeniz gereken her kullanıcıya bu rolü atayın.

Verileri analiz etme ve uyarı oluşturma

Azure SQL Analytics'te veri analizi, özel sorgulama ve raporlama için Log Analytics dilini temel alır. Kullanılabilir ölçümler ve günlüklerde özel sorgulama için veritabanı kaynağından toplanan kullanılabilir verilerin açıklamasını bulun.

Azure SQL Analytics'te otomatik uyarı, bir koşul karşılandığında uyarı tetikleyen bir Log Analytics sorgusu yazmayı temel alır. Azure SQL Analytics'te uyarı ayarlamanın ayarlandığı Log Analytics sorgularıyla ilgili birkaç örneği aşağıda bulabilirsiniz.

Azure SQL Veritabanı için uyarılar oluşturma

Azure SQL Veritabanı kaynaklarından gelen verilerle kolayca uyarılar oluşturabilirsiniz. Günlük uyarısı ile kullanabileceğiniz bazı yararlı günlük sorguları şunlardır:

Yüksek CPU

AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/DATABASES/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen veritabanlarının temel ölçümleri Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına akışla aktarmasıdır.
  • Bunun yerine yüksek DTU sonuçları elde etmek için MetricName değerini cpu_percent ile dtu_consumption_percent değiştirin.

Elastik havuzlarda yüksek CPU

AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/ELASTICPOOLS/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen veritabanlarının Temel ölçümleri Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına akışla aktarmasıdır.
  • Bunun yerine yüksek DTU sonuçları elde etmek için MetricName değerini cpu_percent ile dtu_consumption_percent değiştirin.

Son 1 saatte ortalama %95'in üzerinde depolama

let time_range = 1h;
let storage_threshold = 95;
AzureMetrics
| where ResourceId contains "/DATABASES/"
| where MetricName == "storage_percent"
| summarize max_storage = max(Average) by ResourceId, bin(TimeGenerated, time_range)
| where max_storage > storage_threshold
| distinct ResourceId

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen veritabanlarının temel ölçümleri Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına akışla aktarmasıdır.
  • Bu sorgu, sorgudan sonuçlar (> 0 sonuç) olduğunda bir uyarıyı tetiklemek için bir uyarı kuralı ayarlanmasını gerektirir ve koşulun bazı veritabanlarında mevcut olduğunu belirtir. Çıktı, tanımlı içinde öğesinin üzerinde storage_threshold olan veritabanı kaynaklarının time_range listesidir.
  • Çıktı, tanımlı içinde öğesinin üzerinde storage_threshold olan veritabanı kaynaklarının time_range listesidir.

Akıllı içgörüler hakkında uyarı

Önemli

Bir veritabanının iyi performans göstermemesi ve Akıllı İçgörüler oluşturulmamış olması durumunda, bu sorgu şu hata iletisiyle başarısız olur: adlı rootCauseAnalysis_sskaler ifade çözümlenemedi. Bu davranış, veritabanı için akıllı içgörülerin olmadığı tüm durumlarda beklenir.

let alert_run_interval = 1h;
let insights_string = "hitting its CPU limits";
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| where TimeGenerated > ago(alert_run_interval)
| where rootCauseAnalysis_s contains insights_string
| distinct ResourceId

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen veritabanlarının SQLInsights tanılama günlüğünü Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına akışla aktarmasıdır.
  • Bu sorgu, yinelenen sonuçları önlemek için bir uyarı kuralının ile aynı sıklıkta alert_run_interval çalışacak şekilde ayarlanmasını gerektirir. Kural, sorgudan sonuçlar (> 0 sonuç) olduğunda uyarıyı tetiklemesi için ayarlanmalıdır.
  • alert_run_interval Koşulun SQLInsights günlüğünü Azure SQL Analytics'e akışla aktaracak şekilde yapılandırılmış veritabanlarında oluşup oluşmadığını denetlemek için zaman aralığını belirtmek için öğesini özelleştirin.
  • İçgörüler kök neden analizi metninin çıkışını yakalamak için insights_string özelleştirin. Bu, mevcut içgörülerden kullanabileceğiniz Azure SQL Analytics kullanıcı arabiriminde görüntülenen metinle aynıdır. Alternatif olarak, aboneliğinizde oluşturulan tüm İçgörülerin metnini görmek için aşağıdaki sorguyu kullanabilirsiniz. İçgörüler'de uyarıları ayarlamak için ayrı dizeleri toplamak için sorgunun çıkışını kullanın.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s

SQL Yönetilen Örneği için uyarılar oluşturma

Depolama %90'ın üzerinde

let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
   by ResourceId
| where calculated_storage_percentage > storage_percentage_threshold

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen yönetilen örneğin Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına ResourceUsageStats günlüğünün akışının etkinleştirilmiş olmasıdır.
  • Bu sorgu, sorgudan sonuçlar (> 0 sonuç) olduğunda bir uyarıyı tetikleyerek koşulun yönetilen örnekte mevcut olduğunu belirten bir uyarı kuralı ayarlanmasını gerektirir. Çıkış, yönetilen örnekte depolama yüzdesi tüketimidir.

CPU ortalama tüketimi son 1 saatte %95'in üzerinde

let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by ResourceId
| where avg_cpu > cpu_percentage_threshold

Not

  • Bu uyarıyı ayarlamanın ön gereksinimi, izlenen yönetilen örneğin Azure SQL Analytics tarafından kullanılan Log Analytics çalışma alanına ResourceUsageStats günlüğünün akışının etkinleştirilmiş olmasıdır.
  • Bu sorgu, sorgudan sonuçlar (> 0 sonuç) olduğunda bir uyarıyı tetikleyerek koşulun yönetilen örnekte mevcut olduğunu belirten bir uyarı kuralı ayarlanmasını gerektirir. Çıktı, yönetilen örnekte tanımlanan dönemdeki ortalama CPU kullanım yüzdesi tüketimidir.

Fiyatlandırma

Azure SQL Analytics (önizleme) kullanımı ücretsiz olsa da, her ay ayrılan ücretsiz veri alımı birimlerinin üzerindeki tanılama telemetrisi tüketimi geçerlidir. Bkz. Log Analytics fiyatlandırması. Sağlanan ücretsiz veri alımı birimleri, her ay birkaç veritabanının ücretsiz izlenmesini sağlar. Daha ağır iş yüklerine sahip daha etkin veritabanları, boşta olan veritabanlarına kıyasla daha fazla veri alır. Azure SQL Analytics'in gezinti menüsünde OMS Çalışma Alanı'nı ve ardından Kullanım ve Tahmini Maliyetler'i seçerek Azure SQL Analytics'te veri alımı tüketiminizi kolayca izleyebilirsiniz.

Sonraki adımlar