Memantau Azure SQL Database dengan metrik dan pemberitahuan
Berlaku untuk: Azure SQL Database
Anda dapat menggunakan metrik Azure Monitor untuk memantau database dan konsumsi dan kesehatan sumber daya kumpulan elastis. Anda dapat menggunakan pemberitahuan untuk mengirim pemberitahuan saat nilai metrik menunjukkan potensi masalah.
Metrik
Metrik adalah serangkaian nilai numerik yang diukur pada interval waktu reguler, sering menggunakan unit seperti count
, , bytes
percent
, dll. Tergantung pada sifat metrik, Anda dapat menggunakan agregasi seperti total
, , count
, average
minimum
, maximum
untuk menghitung nilai metrik selama durasi waktu. Anda dapat membagi beberapa metrik berdasarkan dimensi. Setiap dimensi menyediakan konteks tambahan untuk nilai numerik.
Contoh metrik Azure SQL Database yang tersedia adalah: CPU percentage
, , Data space used
, Deadlocks
Tempdb Percent Log Used
.
Lihat metrik database dan metrik kumpulan elastis untuk semua metrik yang tersedia di Azure SQL Database.
Catatan
Beberapa metrik hanya berlaku untuk jenis database atau kumpulan elastis tertentu. Deskripsi setiap metrik menyebutkan jika penggunaannya terbatas pada database tertentu atau jenis kumpulan elastis, seperti vCore, Hyperscale, tanpa server, dll.
Di portal Azure SQL Database, beberapa metrik yang umum digunakan di bagan pada tab Pemantauan pada halaman Gambaran Umum . Metrik ini memungkinkan Anda menilai konsumsi sumber daya dan kesehatan database atau kumpulan elastis secara sekilas.
Di bawah Metrik utama, pilih Lihat semua metrik atau di mana saja di dalam bagan untuk membuka penjelajah metrik. Di halaman Metrik , Anda bisa menampilkan semua metrik lain yang tersedia untuk database atau sumber daya kumpulan elastis. Di penjelajah metrik, Anda dapat mengubah rentang waktu, granularitas, dan jenis agregasi untuk bagan, mengubah jenis bagan, memperluas cakupan untuk menyertakan metrik dari sumber daya Azure lainnya, membuat aturan pemberitahuan, dll. Anda juga dapat membuka penjelajah metrik dengan memilih item menu Metrik , di bawah Pemantauan di menu sumber daya.
Menggunakan metrik untuk memantau database dan kumpulan elastis
Anda dapat menggunakan metrik untuk memantau database dan konsumsi dan kesehatan sumber daya kumpulan elastis. Misalnya, Anda dapat:
- Ukuran database atau kumpulan elastis yang tepat ke beban kerja aplikasi Anda
- Mendeteksi peningkatan konsumsi sumber daya secara bertahap, dan secara proaktif meningkatkan database atau kumpulan elastis
- Mendeteksi dan memecahkan masalah performa
Tabel berikut ini menjelaskan metrik yang umum digunakan di Azure SQL Database.
Nama metrik | ID metrik | Deskripsi |
---|---|---|
Persentase CPU | cpu_percent |
Metrik ini menunjukkan konsumsi CPU terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat Konsumsi sumber daya menurut beban kerja pengguna dan proses internal. |
Persentase CPU instans SQL | sql_instance_cpu_percent |
Metrik ini menunjukkan total konsumsi CPU oleh beban kerja pengguna dan sistem, yang dinyatakan sebagai persentase. Karena metrik ini dan metrik persentase CPU diukur pada skala yang berbeda, metrik tersebut tidak secara langsung sebanding satu sama lain. Untuk informasi selengkapnya, lihat Konsumsi sumber daya menurut beban kerja pengguna dan proses internal. |
Persentase IO Data | physical_data_read_percent |
Metrik ini menunjukkan konsumsi IO file data terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat Tata kelola IO data. |
Persentase IO Log | log_write_percent |
Metrik ini menunjukkan konsumsi throughput tulis log transaksi terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat Tata kelola laju log transaksi. |
Persentase pekerja | workers_percent |
Metrik ini menunjukkan konsumsi utas pekerja terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai persentase. |
Persentase DTU | dtu_consumption_percent |
Metrik ini menunjukkan konsumsi DTU terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai persentase. Persentase DTU berasal dari tiga metrik lainnya: persentase CPU, persentase IO Data, dan persentase IO Log. Kapan saja, persentase DTU cocok dengan nilai tertinggi di antara ketiga metrik ini. |
CPU yang digunakan | cpu_used |
Metrik ini menunjukkan konsumsi CPU terhadap batas beban kerja pengguna database atau kumpulan elastis, yang dinyatakan sebagai jumlah vCore. Untuk informasi selengkapnya, lihat Mendiagnosis dan memecahkan masalah CPU tinggi di Azure SQL Database. |
DTU yang digunakan | dtu_used |
Metrik ini memperlihatkan jumlah DTU yang digunakan oleh database atau kumpulan elastis. |
CPU aplikasi ditagih | app_cpu_billed |
Untuk database tanpa server, metrik ini menunjukkan jumlah komputasi (CPU dan memori) yang ditagih, yang dinyatakan dalam detik vCore. Untuk informasi selengkapnya, lihat Penagihan di tingkat komputasi tanpa server. |
Persentase CPU aplikasi | app_cpu_percent |
Untuk database tanpa server, metrik ini menunjukkan konsumsi CPU terhadap batas vCore maksimum paket aplikasi, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat Pemantauan di tingkat komputasi tanpa server. |
Persentase memori aplikasi | app_memory_percent |
Untuk database tanpa server, metrik ini menunjukkan konsumsi memori terhadap batas memori maksimum paket aplikasi, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat Pemantauan di tingkat komputasi tanpa server. |
Jumlah sesi | sessions_count |
Metrik ini memperlihatkan jumlah sesi pengguna yang dibuat untuk database atau kumpulan elastis. |
Ruang data yang digunakan | storage |
Untuk database, metrik ini menunjukkan jumlah ruang penyimpanan yang digunakan dalam file data database. |
Ruang data yang digunakan | storage_used |
Untuk kumpulan elastis, metrik ini menunjukkan jumlah ruang penyimpanan yang digunakan dalam file data semua database dalam kumpulan elastis. |
Ruang data dialokasikan | allocated_data_storage |
Metrik ini menunjukkan jumlah ruang penyimpanan yang ditempati oleh file data database, atau oleh file data semua database dalam kumpulan elastis. File data mungkin berisi ruang kosong. Karena itu, Ruang data yang dialokasikan jika sering lebih tinggi dari Ruang data yang digunakan untuk database atau kumpulan elastis yang sama. Untuk informasi selengkapnya, lihat Mengelola ruang file untuk database di Azure SQL Database. |
Persentase ruang data yang digunakan | storage_percent |
Untuk database, metrik ini menunjukkan jumlah ruang penyimpanan yang digunakan dalam file data database menuju batas ukuran data database. Untuk kumpulan elastis, ini menunjukkan jumlah ruang penyimpanan yang digunakan dalam file data semua database dalam kumpulan elastis, yang dinyatakan sebagai persentase terhadap batas ukuran data kumpulan elastis. Batas ukuran data untuk database atau kumpulan elastis mungkin dikonfigurasi lebih rendah dari batas ukuran data maksimum . Untuk menemukan batas ukuran data maksimum , lihat batas sumber daya untuk database vCore, kumpulan elastis vCore, database DTU, dan kumpulan elastis DTU. |
Persentase ruang data yang dialokasikan | allocated_data_storage_percent |
Untuk kumpulan elastis, metrik ini menunjukkan jumlah ruang penyimpanan yang ditempati oleh file data semua database dalam kumpulan elastis menuju batas ukuran data kumpulan, yang dinyatakan sebagai persentase. |
Log Persen Tempdb Yang Digunakan | tempdb_log_used_percent |
Metrik ini menunjukkan konsumsi ruang log transaksi dalam tempdb database menuju ukuran log maksimum, yang dinyatakan sebagai persentase. Untuk informasi selengkapnya, lihat tempdb di Azure SQL Database. |
Koneksi Berhasil | connection_successful |
Metrik ini memperlihatkan jumlah koneksi yang berhasil dibuat ke database. Metrik ini dapat dibagi dua dimensi, SslProtocol dan ValidatedDriverNameAndVersion , untuk melihat jumlah koneksi menggunakan versi protokol enkripsi tertentu, atau menggunakan driver klien tertentu. |
Koneksi Gagal : Kesalahan Sistem | connection_failed |
Metrik ini memperlihatkan jumlah upaya koneksi ke database yang gagal karena kesalahan layanan internal. Paling umum, kesalahan tersebut bersifat sementara. Metrik ini dapat dibagi dua dimensi, Error dan ValidatedDriverNameAndVersion , untuk melihat jumlah upaya koneksi yang gagal karena kesalahan tertentu, atau dari driver klien tertentu. |
Koneksi Gagal : Kesalahan Pengguna | connection_failed_user_error |
Metrik ini memperlihatkan jumlah upaya koneksi ke database yang gagal karena kesalahan yang dapat dikoreksi pengguna, seperti kata sandi yang salah atau koneksi yang diblokir oleh firewall. Metrik ini dapat dibagi dua dimensi, Error dan ValidatedDriverNameAndVersion , untuk melihat jumlah upaya koneksi yang gagal karena kesalahan tertentu, atau dari driver klien tertentu. |
Kebuntuan | deadlock |
Metrik ini memperlihatkan jumlah kebuntuan dalam database. |
Ketersediaan | availability |
Ketersediaan ditentukan berdasarkan database yang beroperasi untuk koneksi. Untuk setiap titik data satu menit, nilai yang mungkin adalah 100% atau 0% . Untuk informasi selengkapnya, lihat Metrik ketersediaan. |
Metrik ketersediaan
Metrik Ketersediaan melacak ketersediaan di tingkat Azure SQL Database individual. Fitur ini masih dalam mode pratinjau.
Ketersediaan terperinci hingga satu menit pemadaman koneksi. Ketersediaan ditentukan berdasarkan database yang beroperasi untuk koneksi. Satu menit dianggap sebagai waktu henti atau tidak tersedia jika semua upaya berkelanjutan oleh pengguna untuk membuat koneksi ke database dalam satu menit gagal karena masalah layanan. Jika ada tidak tersedia terputus-terputus, durasi tidak tersedia berkelanjutan harus melewati batas menit untuk dianggap sebagai waktu henti. Biasanya, latensi untuk menampilkan ketersediaan kurang dari tiga menit.
Berikut adalah logika yang digunakan untuk menghitung Ketersediaan untuk setiap interval satu menit:
- Jika setidaknya ada satu koneksi yang berhasil, maka ketersediaannya adalah 100%.
- Jika semua koneksi gagal karena kesalahan pengguna, ketersediaannya adalah 100%.
- Jika tidak ada upaya koneksi, ketersediaannya adalah 100%.
- Jika semua koneksi gagal karena kesalahan sistem, ketersediaannya adalah 0%.
- Saat ini, data metrik ketersediaan belum didukung untuk tingkat komputasi tanpa server dan akan ditampilkan sebagai 100%.
Oleh karena itu, metrik ketersediaan adalah metrik komposit yang berasal dari metrik berikut:
- Koneksi Berhasil
- Koneksi Gagal : Kesalahan Pengguna
- Diblokir oleh Firewall
- Koneksi Gagal : Kesalahan Sistem
Kesalahan pengguna mencakup semua koneksi yang gagal karena konfigurasi pengguna, beban kerja, atau manajemen. Kesalahan sistem mencakup semua koneksi yang gagal karena masalah sementara yang terkait dengan layanan Azure SQL Database.
Contoh kesalahan yang disebabkan oleh konfigurasi pengguna:
Contoh kesalahan yang disebabkan oleh beban kerja pengguna:
Contoh kesalahan yang disebabkan oleh manajemen pengguna:
- Meningkatkan atau menurunkan skala database atau kumpulan elastis
- Replikasi geografis terencana atau failover yang tidak direncanakan
- Grup failover yang direncanakan atau failover yang tidak direncanakan
- Database sekunder geo dalam status seeding
- Database yang dalam status pemulihan karena Pemulihan Titik Waktu (PITR), Pemulihan Jangka Panjang (LTR), atau pemulihan dari database yang dihapus
- Database yang belum selesai disalin (Salinan Database)
Peringatan
Anda dapat membuat aturan pemberitahuan untuk memberi tahu Anda bahwa nilai satu metrik atau beberapa metrik berada di luar rentang yang diharapkan.
Anda dapat mengatur cakupan aturan pemberitahuan dengan beberapa cara agar sesuai dengan kebutuhan Anda. Misalnya, cakupan aturan pemberitahuan dapat diatur ke:
- Database tunggal
- Kumpulan elastis
- Semua database atau kumpulan elastis dalam grup sumber daya
- Semua database atau kumpulan elastis dalam langganan dalam wilayah Azure
- Semua database atau kumpulan elastis dalam langganan di semua wilayah
Aturan pemberitahuan secara berkala mengevaluasi nilai metrik agregat selama periode lookback, membandingkannya dengan nilai ambang batas. Anda dapat mengonfigurasi nilai ambang batas, frekuensi evaluasi, dan periode lookback.
Jika aturan pemberitahuan dipicu, Anda akan diberi tahu sesuai dengan preferensi pemberitahuan, yang Anda tentukan dalam grup tindakan yang ditautkan ke aturan pemberitahuan. Misalnya, Anda dapat menerima email, SMS, atau pemberitahuan suara. Aturan pemberitahuan juga dapat memicu tindakan seperti webhook, runbook otomatisasi, fungsi, aplikasi logika, dll. Anda dapat mengintegrasikan pemberitahuan dengan produk manajemen layanan TI yang didukung.
Untuk mempelajari selengkapnya tentang pemberitahuan Azure Monitor, lihat Gambaran umum pemberitahuan Azure Monitor. Untuk membiasakan diri dengan pemberitahuan metrik, tinjau Pemberitahuan metrik, Kelola aturan pemberitahuan, dan Grup tindakan.
Aturan pemberitahuan yang direkomendasikan
Metrik dan ambang optimal untuk digunakan dalam aturan pemberitahuan bervariasi di seluruh spektrum beban kerja pelanggan di Azure SQL Database.
Pemberitahuan yang direkomendasikan dalam tabel berikut adalah titik awal untuk membantu Anda menentukan konfigurasi pemberitahuan optimal untuk sumber daya Azure SQL Database Anda. Bergantung pada kebutuhan Anda, konfigurasi Anda mungkin berbeda dari contoh ini. Anda mungkin menggunakan ambang batas, frekuensi evaluasi, atau periode lookback yang berbeda. Anda dapat memilih untuk membuat pemberitahuan tambahan, atau menggunakan konfigurasi aturan pemberitahuan yang berbeda untuk aplikasi dan lingkungan yang berbeda.
Berikut adalah contoh konfigurasi aturan pemberitahuan umum.
Nama aturan pemberitahuan | Metrik (sinyal) | Logika pemberitahuan | Kapan harus mengevaluasi | Tingkat keparahan yang disarankan |
---|---|---|---|---|
Penggunaan CPU pengguna tinggi | Persentase CPU | Ambang: Static Agregasi: Average Operator: Greater than Nilai ambang batas: 90 |
Periksa setiap: 1 minute Periode lookback: 10 minutes |
2 - Peringatan |
Total penggunaan CPU yang tinggi | Persentase CPU instans SQL | Ambang: Static Agregasi: Average Operator: Greater than Nilai ambang batas: 90 |
Periksa setiap: 1 minute Periode lookback: 10 minutes |
2 - Peringatan |
Penggunaan pekerja tinggi | Persentase pekerja | Ambang: Static Agregasi: Minimum Operator: Greater than Nilai ambang batas: 60 |
Periksa setiap: 1 minute Periode lookback: 5 minutes |
1 - Kesalahan |
Penggunaan IO data tinggi | Persentase IO Data | Ambang: Static Agregasi: Average Operator: Greater than Nilai ambang batas: 90 |
Periksa setiap: 1 minute Periode lookback: 15 minutes |
3 - Informasi |
Ruang data rendah | Persentase ruang data yang digunakan | Ambang: Static Agregasi: Minimum Operator: Greater than Nilai ambang batas: 95 |
Periksa setiap: 15 minute Periode lookback: 15 minutes |
1 - Kesalahan |
Ruang log rendah tempdb |
Log Persen Tempdb Yang Digunakan | Ambang: Static Agregasi: Minimum Operator: Greater than Nilai ambang batas: 60 |
Periksa setiap: 1 minute Periode lookback: 5 minutes |
1 - Kesalahan |
Kebuntuan | Kebuntuan | Ambang: Dynamic Agregasi: Total Operator: Greater than Sensitivitas ambang batas: Medium |
Periksa setiap: 15 minutes Periode lookback: 1 hour |
3 - Informasi |
Koneksi gagal (kesalahan pengguna) | Koneksi Gagal : Kesalahan Pengguna | Ambang: Dynamic Agregasi: Total Operator: Greater than Sensitivitas ambang batas: Medium |
Periksa setiap: 5 minutes Periode lookback: 15 minutes |
2 - Peringatan |
Koneksi gagal (kesalahan sistem) | Koneksi Gagal : Kesalahan Sistem | Ambang: Static Agregasi: Total Operator: Greater than Unit: Count Nilai ambang batas: 10 |
Periksa setiap: 1 minute Periode lookback: 5 minutes |
2 - Peringatan |
Laju koneksi anomali | Koneksi Berhasil | Ambang: Dynamic Agregasi: Total Operator: Greater or Less than Sensitivitas ambang batas: Low |
Periksa setiap: 5 minutes Periode lookback: 15 minutes |
2 - Peringatan |
Beberapa aturan pemberitahuan yang direkomendasikan menggunakan ambang batas dinamis untuk mendeteksi pola metrik anomali yang mungkin memerlukan perhatian. Aturan pemberitahuan berdasarkan ambang batas dinamis tidak memicu sampai data historis yang memadai telah dikumpulkan untuk menetapkan pola normal. Untuk informasi selengkapnya, lihat Ambang batas dinamis dalam pemberitahuan metrik.
Secara default, pemberitahuan metrik bersifat stateful. Ini berarti bahwa setelah aturan pemberitahuan dipicu, pemberitahuan hanya diaktifkan sekali. Pemberitahuan tetap dalam status fired
hingga diselesaikan, di mana pemberitahuan resolved
dikirim. Aturan pemberitahuan memicu pemberitahuan baru hanya setelah pemberitahuan sebelumnya diselesaikan. Pemberitahuan stateful menghindari pemberitahuan yang sering tentang kondisi yang sedang berlangsung. Untuk informasi selengkapnya tentang pemberitahuan stateful dan stateless, lihat Pemberitahuan dan status.
Konten terkait
- Gambaran umum metrik Azure Monitor
- Memantau beban kerja Azure SQL dengan pengamat database (pratinjau)
- Menganalisis metrik dengan penjelajah metrik Azure Monitor
- Agregasi dan tampilan metrik Azure Monitor dijelaskan
- Gambaran umum pemberitahuan Azure Monitor
- Tutorial: Membuat peringatan metrik untuk sumber daya Azure
- Praktik terbaik untuk peringatan Azure Monitor
- Memecahkan masalah untuk pemberitahuan Azure Monitor
- Memantau dan menyiapkan performa dalam Database SQL Azure dan instans terkelola Azure SQL
- Mengonfigurasi ekspor streaming Azure SQL Database dan telemetri diagnostik SQL Managed Instance