Bagikan melalui


Memantau Azure SQL Database menggunakan Azure SQL Analytics (pratinjau)

BERLAKU UNTUK: Azure SQL Database, Azure SQL Managed Instance

Perhatian

Azure SQL Analytics (pratinjau) adalah integrasi dengan Azure Monitor, di mana banyak solusi pemantauan tidak lagi dikembangkan secara aktif. Untuk opsi pemantauan lainnya, lihat Pemantauan dan penyetelan performa di Azure SQL Database dan Azure SQL Managed Instance.

Azure SQL Analytics (pratinjau) adalah solusi pemantauan cloud tingkat lanjut untuk memantau performa semua database Azure SQL Anda dalam skala besar dan di beberapa langganan dalam satu tampilan. Azure SQL Analytics mengumpulkan dan memvisualisasikan metrik performa utama dengan kecerdasan bawaan untuk pemecahan masalah performa.

Dengan menggunakan metrik yang dikumpulkan ini, Anda dapat membuat aturan dan pemberitahuan pemantauan kustom. Azure SQL Analytics membantu Anda mengidentifikasi masalah di setiap lapisan tumpukan aplikasi Anda. Azure SQL Analytics menggunakan metrik Azure Diagnostics bersama dengan tampilan Azure Monitor untuk menyajikan data tentang semua database Azure SQL Anda dalam satu ruang kerja Analitik Log. Azure Monitor membantu Anda mengumpulkan, menghubungkan, dan memvisualisasikan data terstruktur dan tidak terstruktur.

Sumber tersambung

Azure SQL Analytics adalah solusi pemantauan khusus cloud yang mendukung streaming telemetri diagnostik untuk semua database Azure SQL Anda. Karena Azure SQL Analytics tidak menggunakan agen untuk terhubung ke Azure Monitor, azure SQL Server tidak mendukung pemantauan SQL Server yang dihosting secara lokal atau di komputer virtual.

Sumber Tersambung Didukung Deskripsi
Pengaturan diagnostik Ya Metrik Azure dan data log dikirim secara langsung ke Log Azure Monitor oleh Azure.
Akun penyimpanan Azure Tidak Azure Monitor tidak membaca data dari akun penyimpanan.
agen Windows Tidak Agen Windows tidak secara langsung digunakan oleh Azure SQL Analytics.
agent Linux Tidak Agen Linux secara langsung tidak digunakan oleh Azure SQL Analytics.
grup manajemen Manajer Operasi Pusat Sistem Tidak Koneksi langsung dari agen Manajer Operasi ke Azure Monitor tidak digunakan oleh Azure SQL Analytics.

Pilihan Azure SQL Analytics

Tabel di bawah ini menguraikan opsi yang didukung untuk dua versi dasbor Azure SQL Analytics, satu untuk Azure SQL Database, dan yang lainnya untuk database Azure SQL Managed Instance.

Opsi Azure SQL Analytics Deskripsi Dukungan Basis Data SQL Dukungan SQL Managed Instance
Sumber daya menurut jenis Perspektif yang menghitung semua sumber daya yang dipantau. Ya Ya
Wawasan Menyediakan penelusuran hierarkis ke dalam Wawasan Cerdas tentang performa. Ya Ya
Kesalahan Menyediakan penelusuran hierarkis ke dalam kesalahan SQL yang terjadi pada database. Ya Ya
Istirahat Menyediakan penelusuran hierarkis terperinci ke dalam batas waktu SQL yang terjadi pada database. Ya Tidak
Pemblokiran Menyediakan penelusuran hierarkis ke dalam pemblokiran SQL yang terjadi pada database. Ya Tidak
Database menunggu Menyediakan penelusuran hierarkis ke dalam statistik tunggu SQL pada tingkat database. Mencakup ringkasan total waktu tunggu dan waktu tunggu per jenis tunggu. Ya Tidak
Durasi kueri Menyediakan penelusuran hierarkis ke dalam statistik eksekusi kueri seperti durasi kueri, penggunaan CPU, penggunaan IO Data, penggunaan IO Log. Ya Ya
Kueri menunggu Menyediakan penelusuran hierarkis ke dalam statistik tunggu kueri menurut kategori tunggu. Ya Ya

Pengaturan Azure SQL Analytics (pratinjau)

Gunakan proses yang dijelaskan dalam Menambahkan solusi Azure Monitor dari Galeri Solusi untuk menambahkan Azure SQL Analytics (Pratinjau) ke ruang kerja Analitik Log Anda.

Mengonfigurasi Azure SQL Database untuk mengalirkan telemetri diagnostik

Setelah membuat solusi Azure SQL Analytics di ruang kerja, Anda perlu mengonfigurasi setiap sumber daya yang ingin Dipantau untuk mengalirkan telemetri diagnostiknya ke Azure SQL Analytics. Ikuti instruksi terperinci di halaman ini:

Halaman di atas juga menyediakan instruksi tentang mengaktifkan dukungan untuk memantau beberapa langganan Azure dari satu ruang kerja Azure SQL Analytics sebagai panel kaca tunggal.

Gunakan Azure SQL Analytics (pratinjau)

Arahkan ke penerapan SQL Analytics Anda dari halaman Legacy solutions Log Analytics workspace.

Azure SQL Analytics menyediakan dua tampilan terpisah: satu untuk memantau SQL Database, dan tampilan lainnya untuk memantau SQL Managed Instance.

Menampilkan data Azure SQL Analytics

Dasbor mencakup gambaran umum semua database yang dipantau melalui perspektif yang berbeda. Agar perspektif yang berbeda berfungsi, Anda harus mengaktifkan metrik atau log yang tepat pada sumber daya SQL Anda untuk dialirkan ke ruang kerja Log Analytics.

Jika beberapa metrik atau log tidak dialirkan ke Azure Monitor, petak peta di Azure SQL Analytics tidak diisi dengan informasi pemantauan.

Tampilan SQL Database

Setelah petak peta Azure SQL Analytics untuk database dipilih, dasbor pemantauan ditampilkan.

Cuplikan layar yang memperlihatkan dasbor pemantauan.

Ketika memilih salah satu kotak, akan membuka laporan rinci perspektif tertentu. Setelah perspektif dipilih, laporan penelusuran akan dibuka.

Cuplikan layar yang memperlihatkan laporan perincian ke dalam perspektif spesifik.

Setiap perspektif dalam tampilan ini menyediakan ringkasan di tingkat langganan, server, kumpulan elastis, dan database. Selain itu, setiap perspektif menunjukkan perspektif khusus untuk laporan di sebelah kanan. Memilih langganan, server, kumpulan, atau database dari daftar melanjutkan penelusuran paling detail.

Tampilan SQL Managed Instance

Setelah petak peta Azure SQL Analytics untuk database dipilih, dasbor pemantauan ditampilkan.

Gambaran Umum Azure SQL Analytics

Ketika memilih salah satu kotak, akan membuka laporan rinci perspektif tertentu. Setelah perspektif dipilih, laporan penelusuran akan dibuka.

Memilih tampilan SQL Managed Instance, menunjukkan detail tentang pemanfaatan instans, database instans, dan telemetri pada kueri yang dijalankan di seluruh instans terkelola.

Batas Waktu Azure SQL Analytics

Laporan Wawasan Cerdas

Azure SQL Database Intelligent Insights memungkinkan Anda mengetahui apa yang terjadi dengan performa semua database Azure SQL. Semua Wawasan Cerdas yang dikumpulkan dapat divisualisasikan dan diakses melalui perspektif Wawasan.

Wawasan Azure SQL Analytics

Kumpulan elastis dan laporan basis data

Kumpulan elastis dan database memiliki laporan spesifik mereka sendiri yang menunjukkan semua data yang dikumpulkan untuk sumber daya dalam waktu yang ditentukan.

Azure SQL Analytics Database

Kumpulan elastis Azure SQL

Laporan Permintaan

Melalui perspektif durasi kueri dan waktu tunggu kueri, Anda dapat menghubungkan performa kueri melalui laporan kueri. Laporan ini membandingkan performa kueri di berbagai database dan memudahkan untuk menentukan database yang melakukan kueri yang dipilih dengan baik versus yang lambat.

Kueri Azure SQL Analytics

Hak akses

Untuk menggunakan Azure SQL Analytics (pratinjau), pengguna harus diberikan izin minimum peran Pembaca di Azure. Namun, peran ini tidak memungkinkan pengguna untuk melihat teks kueri, atau melakukan tindakan penyetelan Otomatis apa pun. Peran yang lebih permisif di Azure yang memungkinkan penggunaan Azure SQL Analytics sepenuhnya adalah Pemilik, Kontributor, Kontributor SQL DB, atau Kontributor SQL Server. Anda juga mungkin ingin mempertimbangkan untuk membuat peran kustom di portal dengan izin tertentu yang diperlukan hanya untuk menggunakan Azure SQL Analytics, dan tanpa akses untuk mengelola sumber daya lain.

Membuat peran kustom di portal

Nota

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Mengenali bahwa beberapa organisasi menerapkan kontrol izin yang ketat di Azure, temukan skrip PowerShell berikut yang memungkinkan pembuatan peran kustom "Operator Pemantauan Analitik SQL" di portal Microsoft Azure dengan izin baca dan tulis minimum yang diperlukan untuk menggunakan Azure SQL Analytics sepenuhnya.

Ganti "{SubscriptionId}" di skrip di bawah ini dengan ID langganan Anda di Azure, dan jalankan skrip dengan peran Pemilik atau Kontributor di Azure.

 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

Setelah peran baru dibuat, tetapkan peran ini ke setiap pengguna yang perlu Anda berikan izin kustom untuk menggunakan Azure SQL Analytics.

Menganalisis data dan membuat pemberitahuan

Analisis data di Azure SQL Analytics didasarkan pada bahasa Analitik Log untuk kueri dan pelaporan kustom Anda. Temukan deskripsi data yang tersedia yang dikumpulkan dari sumber daya basis data guna melakukan kueri kustom dalam metrik dan log yang tersedia.

Pemberitahuan otomatis di Azure SQL Analytics didasarkan pada penulisan kueri Analitik Log yang memicu pemberitahuan setelah kondisi terpenuhi. Temukan beberapa contoh di bawah ini berkaitan dengan kueri Analitik Log yang dapat digunakan untuk pengaturan pemberitahuan di Azure SQL Analytics.

Membuat pemberitahuan untuk Azure SQL Database

Anda dapat dengan mudah membuat pemberitahuan dengan data yang berasal dari sumber daya Azure SQL Database. Berikut adalah beberapa kueri log berguna yang dapat Anda gunakan dengan peringatan log:

CPU tinggi

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

Nota

  • Prasyarat menyiapkan pemberitahuan ini adalah database yang dipantau mengalirkan metrik dasar ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Ganti nilai cpu_percent MetricName dengan dtu_consumption_percent untuk mendapatkan hasil DTU tinggi sebagai gantinya.

Penggunaan CPU yang tinggi pada kumpulan elastis

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

Nota

  • Prasyarat penyiapan pemberitahuan ini adalah database yang dipantau mengalirkan metrik Dasar ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Ganti nilai cpu_percent MetricName dengan dtu_consumption_percent untuk mendapatkan hasil DTU tinggi sebagai gantinya.

Penyimpanan rata-rata di atas 95% dalam 1 jam terakhir

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

Nota

  • Prasyarat menyiapkan pemberitahuan ini adalah database yang dipantau mengalirkan metrik dasar ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Kueri ini mengharuskan aturan pemberitahuan disiapkan untuk memicu pemberitahuan saat terdapat hasil (> 0 hasil) dari kueri, yang menunjukkan bahwa kondisi tersebut ada di beberapa database. Output adalah daftar sumber daya database yang terletak di atas storage_threshold dalam time_range yang ditentukan.
  • Output adalah daftar sumber daya database yang terletak di atas storage_threshold dalam time_range yang ditentukan.

Pemberitahuan tentang Wawasan cerdas

Penting

Jika database berkinerja baik, dan tidak ada Wawasan Cerdas yang dihasilkan, kueri ini akan gagal dengan pesan kesalahan: Gagal mengatasi ekspresi skalar bernama rootCauseAnalysis_s. Perilaku ini diharapkan untuk semua kasus di mana tidak ada wawasan cerdas untuk database.

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

Nota

  • Prasyarat untuk menyiapkan pemberitahuan ini adalah bahwa database yang dipantau mengalirkan log diagnostik SQLInsights ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Kueri ini mengharuskan aturan pemberitahuan disiapkan untuk dijalankan dengan frekuensi yang sama seperti alert_run_interval untuk menghindari hasil duplikat. Aturan harus disiapkan untuk menonaktifkan pemberitahuan ketika ada hasil (> 0 hasil) dari kueri.
  • Sesuaikan alert_run_interval untuk menentukan rentang waktu guna memeriksa apakah kondisi telah terjadi pada database yang dikonfigurasi untuk mengalirkan log SQLInsights ke Azure SQL Analytics.
  • Sesuaikan insights_string untuk mengambil output teks analisis akar penyebab dari Insights. Ini adalah teks yang sama yang ditampilkan di antarmuka pengguna Azure SQL Analytics yang dapat Anda gunakan dari wawasan yang ada. Atau, Anda dapat menggunakan kueri di bawah ini untuk melihat teks semua Insight yang dihasilkan pada langganan Anda. Gunakan output kueri untuk menghimpun string yang berbeda guna menyiapkan peringatan pada Insights.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s

Membuat pemberitahuan untuk SQL Managed Instance

Penyimpanan di atas 90%

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

Nota

  • Prasyarat untuk menyiapkan pemberitahuan ini adalah bahwa instans terkelola yang dipantau memiliki streaming log ResourceUsageStats yang diaktifkan ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Kueri ini memerlukan aturan pemberitahuan yang disiapkan untuk mengirimkan pemberitahuan ketika ada hasil (> 0 hasil) dari kueri, yang menunjukkan bahwa kondisi tersebut ada pada instans terkelola. Hasilnya adalah persentase konsumsi penyimpanan pada instans yang dikelola.

Konsumsi rata-rata CPU di atas 95% dalam 1 jam terakhir

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

Nota

  • Prasyarat untuk menyiapkan pemberitahuan ini adalah bahwa instans terkelola yang dipantau memiliki streaming log ResourceUsageStats yang diaktifkan ke ruang kerja Analitik Log yang digunakan oleh Azure SQL Analytics.
  • Kueri ini memerlukan aturan pemberitahuan yang disiapkan untuk mengirimkan pemberitahuan ketika ada hasil (> 0 hasil) dari kueri, yang menunjukkan bahwa kondisi tersebut ada pada instans terkelola. Outputnya adalah konsumsi persentase pemanfaatan CPU rata-rata dalam periode yang ditentukan pada instans terkelola.

Harga

Meskipun Azure SQL Analytics (pratinjau) gratis digunakan, penggunaan telemetri diagnostik yang melebihi kuota penyerapan data gratis bulanan akan dikenakan biaya, lihat Harga Log Analytics. Unit gratis penyerapan data yang disediakan memungkinkan pemantauan gratis beberapa database setiap bulan. Database yang lebih aktif dengan beban kerja yang lebih berat menyerap lebih banyak data versus database yang tidak aktif. Anda dapat dengan mudah memantau konsumsi penyerapan data Anda di Azure SQL Analytics dengan memilih Ruang Kerja OMS pada menu navigasi Azure SQL Analytics, lalu memilih Penggunaan dan Perkiraan Biaya.

Langkah berikutnya