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:
- Tanılama telemetrisini Azure SQL Analytics'e akışla aktarmak için veritabanınız için Azure Tanılama etkinleştirin.
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.
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.
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.
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.
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.
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.
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.
İ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
iledtu_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
iledtu_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ıntime_range
listesidir. - Çıktı, tanımlı içinde öğesinin üzerinde
storage_threshold
olan veritabanı kaynaklarınıntime_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_s
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
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
- Ayrıntılı Azure SQL verilerini görüntülemek için Azure İzleyici'de günlük sorgularını kullanın.
- Azure SQL verileri gösteren kendi panolarınızı oluşturun.
- Belirli Azure SQL olayları gerçekleştiğinde uyarılar oluşturun.
- Azure İzleyici ile Azure SQL Veritabanı'nı izleme
- Azure İzleyici ile Azure SQL Yönetilen Örneği izleme