Azure SQL Analytics kullanarak Azure SQL Veritabanı'nın izlenmesi (ö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 aktif olarak geliştirilmediği Azure İzleyici ile bir tümleştirmedir. Daha fazla izleme seçeneği için bkz. Azure SQL Veritabanı'nda 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 temel 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, Azure Tanılama ölçümleri ile birlikte Azure İzleme görünümlerini kullanarak tüm Azure SQL veritabanlarınızla ilgili verileri tek bir Log Analytics çalışma alanında sunulması için 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'ın izlenmesini desteklemez.

Bağlı Kaynak Destekleniyor Açıklama
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ı Hayı Azure İzleyici bir depolama hesabından verileri okumaz.
Windows ajanları Hayı Doğrudan Windows aracıları Azure SQL Analytics tarafından kullanılmaz.
Linux ajanları Hayı Doğrudan Linux aracıları Azure SQL Analytics tarafından kullanılmaz.
System Center Operations Manager yönetim grubu Hayı 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, Azure SQL Veritabanı için bir sürümü ve Azure SQL Yönetilen Örneği veritabanları için diğer sürümü olmak üzere, Azure SQL Analytics panosunun iki sürümü için desteklenen seçenekler özetlenmiştir.

Azure SQL Analytics seçeneği Açıklama SQL Veritabanı desteği SQL Yönetilen Örneği için destek
Türe göre kaynak İzlenen tüm kaynakları sayan bakış açısı. Evet Evet
İçgörüler Performansla ilgili Akıllı İçgörülere hiyerarşik derinlemesine erişim sağlar. Evet Evet
Hatalar Veritabanlarında gerçekleşen SQL hatalarında hiyerarşik detaya gitme sağlar. Evet Evet
Zaman aşımı süreleri Veritabanlarında gerçekleşen SQL zaman aşımları için hiyerarşik ayrıntıya inme imkanı sunar. Evet Hayı
Engellemeler Veritabanlarında gerçekleşen SQL engellemelerinde hiyerarşik detaya gitme sağlar. Evet Hayı
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. Evet Hayı
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. Evet Evet
Sorgu beklemeleri Bekleme kategorisine göre sorgu bekleme istatistiklerinde hiyerarşik detaya gitme sağlar. Evet Evet

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

Log Analytics çalışma alanınıza Azure SQL Analytics (Önizleme) eklemek için Çözüm Galerisi 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ın yapılandırılması

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

  • Veritabanınız için Azure Tanılama'yı etkinleştirerek tanılama telemetrisini Azure SQL Analytics'e akış olarak iletin.

Yukarıdaki sayfada ayrıca tek bir Azure SQL Analytics çalışma alanından tek bir bölme cam olarak birden çok Azure aboneliğini izleme desteğinin etkinleştirilmesi hakkında yönergeler sağlanı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 SQL Veritabanı'nı izlemek için, diğeri de SQL Yönetilen Örneği'ni izlemek için.

Azure SQL Analytics verilerini görüntüleme

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

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

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 inceleme amaçlı bir detay 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üntüleme

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

Azure SQL Analytics'e Genel BakışAzure SQL Analytics OverviewAzure SQL Analytics Overview

Kutucuklardan herhangi birini seçtiğinizde, belirli bir perspektifte inceleme amaçlı bir detay 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 örnek genelinde 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ıAzure SQL Analytics TimeoutsAzure SQL Analytics Timeouts

Intelligent Insights raporu

Azure SQL Veritabanı Intelligent Insights, tüm Azure SQL veritabanlarının performansıyla ilgili neler olduğunu size bildirir. Toplanan tüm Akıllı İçgörüler, İçgörüler perspektifi aracılığıyla 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ıAzure SQL Analytics DatabaseAzure SQL Analytics Database

Azure SQL elastik havuzuAzure SQL elastic poolAzure SQL elastic pool

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çili sorguyu iyi gerçekleştiren veritabanlarını yavaş olanlarla karşılaştırmayı kolaylaştırır.

Azure SQL Analytics SorgularıAzure SQL Analytics QueriesAzure SQL Analytics Queries

İ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 SQL Analytics'i en kapsamlı şekilde kullanmaya olanak tanıyan daha fazla izin veren roller Azure'da Sahip, Katkıda Bulunan, SQL DB Katkıda Bulunan veya SQL Server Katkıda Bulunan rolleridir. Ayrıca portalda yalnızca Azure SQL Analytics'i kullanmak için gereken belirli izinlere sahip ve diğer kaynakları yönetmeye erişimi olmayan özel bir rol oluşturmayı da düşünebilirsiniz.

Portalda özel rol oluşturma

Uyarı

Azure ile etkileşime geçmek 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 denetimleri uyguladığını fark ederek, Azure SQL Analytics'i en kapsamlı şekilde kullanmak için gereken en düşük okuma ve yazma izinleriyle Azure portalında "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ğinizle değiştirin ve betiği Azure'da Sahip veya Katkıda Bulunan rolüyle oturum açmış olarak yürütün.

 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 dil temel alır. Veritabanı kaynağından toplanan ve özel sorgulama için kullanılabilir olan verilerin açıklamasını, ölçümler ve günlüklerdebulun.

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ıların ayarlanabildiği 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. İşte günlük uyarısıyla kullanabileceğiniz bazı yararlı günlük sorguları:

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

Uyarı

  • 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 cpu_percent MetricName değerini dtu_consumption_percent ile değiştirerek yüksek DTU sonuçları elde edin.

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

Uyarı

  • 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 cpu_percent MetricName değerini dtu_consumption_percent ile değiştirerek yüksek DTU sonuçları elde edin.

Son 1 saatte depolama yüzde 95'in üzerinde ortalamada.

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

Uyarı

  • 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 uyarı tetiklenecek şekilde bir uyarı kuralı ayarlanmasını gerektirir ve koşulun bazı veritabanlarında mevcut olduğunu belirtir. Çıktı, tanımlanan storage_threshold içindeki time_range üzerinde yer alan veritabanı kaynaklarının listesidir.
  • Çıktı, tanımlanan storage_threshold içindeki time_range üzerinde yer alan veritabanı kaynaklarının 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: rootCauseAnalysis_sadlı skaler 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

Uyarı

  • 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 alert_run_interval ile aynı sıklıkta çalışacak şekilde ayarlanmasını gerektirir. Kural, sorgudan sonuçlar (> 0 sonuç) olduğunda uyarıyı tetikleyecek şekilde ayarlanmalıdır.
  • Koşulun, SQLInsights günlüğünü Azure SQL Analytics'e akışla gönderecek şekilde yapılandırılmış veritabanlarında gerçekleşip gerçekleşmediğini kontrol etmek için zaman aralığını belirlemek üzere alert_run_interval'ı özelleştirin.
  • Çıkışı yakalamak için Insights temel neden analizi metnini, 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üler metnini görmek için aşağıdaki sorguyu kullanabilirsiniz. Sorgunun çıktısını kullanarak Insights'te uyarılar ayarlamak için farklı dizeleri toplayın.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s

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

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

Uyarı

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

CPU ortalama tüketimi son 1 saat içinde% 95'in üzerindedir

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

Uyarı

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

Fiyatlandırma

Azure SQL Analytics (önizleme) kullanımı ücretsizdir. Ancak, her ay tahsis edilen ücretsiz veri alımı birimlerinin üzerinde tanılama telemetrisi tüketildiğinde ücretlendirme yapılır, 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