Mengaktifkan Wawasan SQL (pratinjau)

Berlaku untuk:Azure SQL DatabaseAzure SQL Managed Instance

Artikel ini menjelaskan cara mengaktifkan Wawasan SQL (pratinjau) untuk memantau penyebaran SQL Anda. Pemantauan dilakukan dari komputer virtual Azure yang membuat koneksi ke penyebaran SQL Anda dan menggunakan Tampilan Manajemen Dinamis (DMV) untuk mengumpulkan data pemantauan. Anda dapat mengontrol himpunan data apa yang dikumpulkan dan frekuensi pengumpulan menggunakan profil pemantauan.

Catatan

Untuk mengaktifkan Wawasan SQL (pratinjau) dengan membuat profil pemantauan dan mesin virtual menggunakan pola dasar manajer sumber daya, lihat Contoh pola dasar Resource Manager untuk Wawasan SQL (pratinjau).

Untuk mempelajari cara mengaktifkan Wawasan SQL (pratinjau), Anda juga dapat merujuk ke episode Data Exposed ini.

Membuat ruang kerja Analitik Log

Wawasan SQL menyimpan data di satu atau beberapa ruang kerja Log Analytics. Sebelum dapat mengaktifkan SQL Insights, Anda harus membuat ruang kerja atau memilih ruang kerja yang sudah ada. Satu ruang kerja dapat digunakan dengan beberapa profil pemantauan, tetapi ruang kerja dan profil harus berada di wilayah Azure yang sama. Untuk mengaktifkan dan mengakses fitur di Wawasan SQL, Anda harus memiliki peran kontributor Log Analytics di ruang kerja.

Membuat pengguna pemantauan

Anda memerlukan (masuk) pengguna pada penerapan SQL yang ingin Anda pantau. Ikuti prosedur di bawah ini untuk berbagai jenis penyebaran SQL.

Instruksi di bawah ini mencakup proses per jenis SQL yang dapat Anda pantau. Untuk mencapai ini dengan skrip pada beberapa sumber daya SQL sekaligus, silakan merujuk ke file README dan contoh skrip berikut.

Database Azure SQL

Catatan

Wawasan SQL (pratinjau) tidak mendukung skenario Azure SQL Database berikut ini:

  • Kumpulan elastis: Metrik tidak dapat dikumpulkan untuk kumpulan elastis. Metrik tidak dapat dikumpulkan untuk database dalam kumpulan elastis.
  • Tingkat layanan rendah: Metrik tidak dapat dikumpulkan untuk database pada tujuan layanan Dasar, S0, dan S1

Wawasan SQL (pratinjau) memiliki dukungan terbatas untuk skenario Azure SQL Database berikut ini:

  • Tingkat tanpa server: Metrik dapat dikumpulkan untuk database menggunakan tingkat komputasi tanpa server. Namun, proses pengumpulan metrik akan mengatur ulang timer penundaan jeda otomatis, yang mencegah database memasuki status jeda otomatis.

Buka Database Azure SQL dengan SQL Server Management Studio atau Editor Power Query (pratinjau) di portal Microsoft Azure, atau alat klien SQL lainnya.

Jalankan skrip berikut untuk membuat pengguna dengan izin yang diperlukan. Ganti pengguna dengan nama pengguna dan mystrongpassword dengan kata sandi.

CREATE USER [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW DATABASE STATE TO [user]; 
GO 

Screenshot of the Query Editor with a create telegraf user script.

Verifikasikan bahwa pengguna telah dibuat.

Screenshot of the Query Editor query window verifying the telegraf user script.

select name as username,
       create_date,
       modify_date,
       type_desc as type,
       authentication_type_desc as authentication_type
from sys.database_principals
where type not in ('A', 'G', 'R', 'X')
       and sid is not null
order by username

Instans Terkelola Azure SQL

Masuk ke Azure SQL Managed Instance Anda dan gunakan SQL Server Management Studio atau alat serupa, dan jalankan skrip berikut untuk membuat pengguna pemantauan dengan izin yang diperlukan. Ganti pengguna dengan nama pengguna dan mystrongpassword dengan kata sandi.

USE master; 
GO 
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW SERVER STATE TO [user]; 
GO 
GRANT VIEW ANY DEFINITION TO [user]; 
GO 

Server SQL

Masuk ke mesin virtual Azure Anda yang menjalankan SQL Server dan gunakan SQL Server Management Studio atau alat serupa untuk menjalankan skrip berikut untuk membuat pengguna pemantauan dengan izin yang diperlukan. Ganti pengguna dengan nama pengguna dan mystrongpassword dengan kata sandi.

USE master; 
GO 
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW SERVER STATE TO [user]; 
GO 
GRANT VIEW ANY DEFINITION TO [user]; 
GO

Verifikasikan bahwa pengguna telah dibuat.

select name as username,
       create_date,
       modify_date,
       type_desc as type
from sys.server_principals
where type not in ('A', 'G', 'R', 'X')
       and sid is not null
order by username

Membuat Azure Virtual Machine

Anda harus membuat satu komputer virtual Azure atau lebih yang akan digunakan untuk mengumpulkan data untuk memantau SQL.

Catatan

Profil pemantauan menentukan data apa yang akan Anda kumpulkan dari berbagai jenis SQL yang ingin dipantau. Setiap komputer virtual pemantauan hanya dapat memiliki satu profil pemantauan yang terkait dengannya. Jika Anda membutuhkan beberapa profil pemantauan, maka Anda perlu membuat komputer virtual untuk masing-masing komputer virtual.

Persyaratan komputer virtual Azure

Mesin virtual Azure memiliki persyaratan berikut:

  • Sistem operasi: Ubuntu 18.04 menggunakan gambar Marketplace Azure. Gambar kustom tidak didukung. Untuk mendapatkan Extended Security Maintenance (ESM) untuk versi Ubuntu ini, sebaiknya gunakan gambar marketplace Ubuntu Pro 18.04 LTS. Untuk informasi selengkapnya, lihat Dukungan untuk Linux dan teknologi sumber terbuka di Azure.
  • Ukuran komputer virtual Azure minimum yang direkomendasikan: Standard_B2s (2 CPU, memori 4 GiB)
  • Disebarkan di wilayah Azure mana pun yang didukung oleh agen Azure Monitor, dan memenuhi semua prasyarat agen Azure Monitor.

Catatan

Ukuran komputer virtual Standard_B2s (2 cpu, memori 4 GiB) akan mendukung hingga 100 untai (karakter) koneksi. Anda tidak boleh mengalokasikan lebih dari 100 koneksi ke satu komputer virtual.

Tergantung pada pengaturan jaringan sumber daya SQL Anda, komputer virtual mungkin perlu ditempatkan di jaringan virtual yang sama dengan sumber daya SQL Anda sehingga mereka dapat membuat koneksi jaringan untuk mengumpulkan data pemantauan.

Mengonfigurasi setelan jaringan

Setiap jenis SQL menawarkan metode pemantauan komputer virtual Anda untuk mengakses SQL dengan aman. Bagian di bawah ini mencakup opsi berdasarkan jenis SQL.

Database Azure SQL

Wawasan SQL mendukung akses Azure SQL Database Anda melalui titik akhir publik serta dari jaringan virtual.

Untuk akses melalui titik akhir publik, Anda akan menambahkan aturan pada halaman Pengaturan firewall dan bagian pengaturan firewall IP. Untuk menentukan akses dari jaringan virtual, Anda dapat mengatur aturan firewall jaringan virtual dan mengatur tag layanan yang diperlukan oleh agen Azure Monitor. Artikel ini menjelaskan perbedaan antara kedua jenis aturan firewall ini.

Screenshot of an Azure SQL Database page in the Azure portal. The Set server firewall button is highlighted.

Screenshot of an Azure SQL Database Firewall settings page in the Azure portal. Firewall settings.

Instans Terkelola Azure SQL

Jika komputer virtual pemantauan Anda akan berada di VNet yang sama dengan sumber daya SQL MI Anda, maka lihat Menghubungkan di dalam VNet yang sama. Jika komputer virtual pemantauan Anda akan berada di VNet yang berbeda dengan sumber daya SQL MI Anda, maka lihat Menghubungkan di dalam VNet yang berbeda.

Server SQL

Jika komputer virtual pemantauan Anda berada di VNet yang sama dengan sumber daya komputer virtual SQL Anda, maka lihat Menghubungkan ke SQL Server dalam jaringan virtual. Jika komputer virtual pemantauan Anda akan berada di VNet yang berbeda dengan sumber daya komputer virtual SQL Anda, maka lihat Menghubungkan ke SQL Server melalui internet.

Menyimpan kata sandi pemantauan di Azure Key Vault

Sebagai praktik terbaik keamanan, kami sangat menyarankan Anda menyimpan kata sandi (masuk) pengguna SQL Anda di Key Vault, daripada memasukkannya langsung ke string koneksi profil pemantauan Anda.

Saat mengatur profil untuk pemantauan SQL, Anda akan memerlukan salah satu izin berikut pada sumber daya Key Vault yang ingin Anda gunakan:

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

Jika Anda memiliki izin ini, kebijakan akses Key Vault baru akan dibuat secara otomatis sebagai bagian dari pembuatan profil SQL Monitoring yang menggunakan Key Vault yang Anda tentukan.

Penting

Anda perlu memastikan bahwa konfigurasi jaringan dan keamanan memungkinkan mesin virtual pemantauan untuk mengakses Key Vault. Untuk informasi selengkapnya, lihat Mengakses Azure Key Vault di balik firewall dan Mengonfigurasi pengaturan jaringan Azure Key Vault.

Membuat profil pemantauan SQL

Buka Wawasan SQL (pratinjau) dengan memilih SQL (pratinjau) dari bagian Wawasan menu Azure Monitor di portal Azure. Pilih Buat profil baru.

Screenshot of the Azure Monitor page in Azure portal. The create new profile button is highlighted.

Profil akan menyimpan informasi yang ingin Anda kumpulkan dari sistem SQL Anda. Profil tersebut memiliki pengaturan khusus untuk:

  • Azure SQL Database
  • Instans Terkelola Azure SQL
  • SQL Server yang berjalan pada komputer virtual

Contohnya, Anda dapat membuat satu profil bernama SQL Production dan profil lain bernama SQL Staging dengan pengaturan yang berbeda untuk frekuensi pengumpulan data, data apa yang akan dikumpulkan, dan ruang kerja mana yang akan dikirimi data.

Profil tersebut disimpan sebagai sumber daya aturan pengumpulan data pada langganan dan grup sumber daya yang Anda pilih. Setiap profil membutuhkan unsur berikut:

  • Nama. Tidak dapat diedit setelah dibuat.
  • Lokasi. Ini adalah wilayah Azure.
  • Ruang kerja Log Analytics untuk menyimpan data pemantauan.
  • Pengaturan pengumpulan untuk frekuensi dan jenis data pemantauan sql yang dikumpulkan.

Catatan

Lokasi profil harus berada di lokasi yang sama dengan ruang kerja Log Analytics yang Anda rencanakan untuk pengiriman data pemantauan.

A screenshot of the Create new profile details page in the Azure portal.

Pilih Buat profil pemantauan setelah Anda memasukkan detail untuk profil pemantauan Anda. Dibutuhkan waktu hingga satu menit agar profil dapat disebarkan. Jika Anda tidak melihat profil baru yang tercantum dalam kotak kombo Profil pemantauan, pilih tombol refresh dan profil tersebut akan muncul setelah penyebaran selesai. Setelah memilih profil baru, pilih tab Kelola profil untuk menambahkan mesin pemantauan yang akan dikaitkan dengan profil.

Menambahkan mesin pemantauan

Pilih Tambahkan komputer pemantauan untuk membuka Add monitoring virtual machine panel konteks untuk memilih komputer virtual tempat memantau instans SQL Anda dan menyediakan string koneksi.

Pilih langganan dan nama komputer virtual pemantauan Anda. Jika Anda menggunakan Key Vault untuk menyimpan kata sandi untuk login pemantauan (sangat disarankan), pilih langganan Key Vault tersebut di bawah Key vault subscriptions, lalu pilih Key Vault yang menyimpan rahasia di bawah KeyVault. Connection strings Di bidang , masukkan URI vault dan nama rahasia untuk setiap kata sandi yang akan digunakan dalam string koneksi.

Misalnya, jika URI Key Vault adalah https://mykeyvault.vault.azure.net/, dan nama rahasianya adalah sqlPassword1 dan sqlPassword2, maka JSON di Connection strings bidang akan berisi yang berikut:

{
   "secrets": {
      "telegrafPassword1": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword1"
      },
      "telegrafPassword2": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword2"
      }
   }
}

Anda sekarang dapat mereferensikan rahasia ini lebih lanjut di Connection strings bidang . Dalam contoh berikut, dua string koneksi mereferensikan rahasia dan telegrafPassword2 yang telegrafPassword1 ditentukan sebelumnya:

{
   "sqlAzureConnections": [
      "Server=mysqlserver.database.windows.net;Port=1433;Database=mydatabase;User Id=telegraf;Password=$telegrafPassword1;"
   ],
   "sqlVmConnections": [
      "Server=mysqlserver1;Port=1433;Database=master;User Id=telegraf;Password=$telegrafPassword2;"
   ]
}

A screenshot of the Azure portal Add monitoring virtual machine page. Choose the VM, specify the KV url (if used) and the secret name. Enter connection strings for each system to monitor. Choose the KV where you created the secret used in the connection strings.

Lihat bagian berikutnya untuk detail tentang mengidentifikasi string koneksi untuk penyebaran SQL yang berbeda.

Menambahkan string koneksi

String koneksi menentukan nama untuk masuk yang harus digunakan Wawasan SQL (pratinjau) saat masuk ke SQL untuk mengumpulkan data pemantauan. Jika Anda menggunakan Key Vault untuk menyimpan kata sandi pengguna pemantauan Anda, sediakan URL dan nama rahasia yang digunakan.

String koneksi akan bervariasi untuk setiap jenis sumber daya SQL:

Database Azure SQL

Koneksi TCP dari mesin pemantauan ke alamat IP dan port yang digunakan oleh database harus diizinkan oleh firewall atau kelompok keamanan jaringan (NSGs) yang mungkin ada di jalur jaringan. Untuk detail tentang alamat IP dan port, lihat Azure SQL Database arsitektur konektivitas.

Masukkan string koneksi dengan format:

"sqlAzureConnections": [
   "Server=mysqlserver1.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;",
   "Server=mysqlserver2.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;"
]

Dapatkan detail dari halaman string Koneksi ion dan titik akhir ADO.NET yang sesuai untuk database.

Untuk memantau readable sekunder, tambahkan ;ApplicationIntent=ReadOnly pada untai (karakter) koneksi. SQL Insights mendukung pemantauan sekunder tunggal. Data yang dikumpulkan akan ditandai untuk mencerminkan primer atau sekunder.

Instans Terkelola Azure SQL

Koneksi TCP dari mesin pemantauan ke alamat IP dan port yang digunakan oleh instans terkelola harus diizinkan oleh firewall atau grup keamanan jaringan (NSGs) yang mungkin ada di jalur jaringan. Untuk detail tentang alamat IP dan port, lihat Jenis koneksi Azure SQL Managed Instance.

Masukkan string koneksi dengan format:

"sqlManagedInstanceConnections": [
   "Server= mysqlserver1.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;",
   "Server= mysqlserver2.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;" 
] 

Dapatkan detail dari halaman string Koneksi ion dan titik akhir ADO.NET yang sesuai untuk instans terkelola. Jika menggunakan titik akhir publik instans terkelola, ganti port 1433 dengan 3342.

Untuk memantau readable sekunder, tambahkan ;ApplicationIntent=ReadOnly pada untai (karakter) koneksi. SQL Insights mendukung pemantauan replika sekunder ketersediaan tinggi tunggal (HA) untuk database utama tertentu. Data yang dikumpulkan akan ditandai untuk mencerminkan Primer atau Sekunder.

Server SQL

Protokol TCP/IP harus diaktifkan untuk instans SQL Server yang ingin Anda pantau. Koneksi TCP dari mesin pemantauan ke alamat IP dan port yang digunakan oleh instans SQL Server harus diizinkan oleh firewall atau grup keamanan jaringan (NSGs) yang mungkin ada di jalur jaringan.

Jika Anda ingin memantau SQL Server dikonfigurasi untuk ketersediaan tinggi (menggunakan grup ketersediaan atau instans kluster failover), sebaiknya pantau setiap instans SQL Server di kluster secara individual daripada menyambungkan melalui pendengar grup ketersediaan atau nama kluster failover. Ini memastikan bahwa data pemantauan dikumpulkan terlepas dari peran instans saat ini (primer atau sekunder).

Masukkan string koneksi dengan format:

"sqlVmConnections": [
   "Server=SQLServerInstanceIPAddress1;Port=1433;User Id=$username;Password=$password;",
   "Server=SQLServerInstanceIPAddress2;Port=1433;User Id=$username;Password=$password;"
] 

Gunakan alamat IP yang didengarkan instans SQL Server.

Jika instans SQL Server Anda dikonfigurasi untuk mendengarkan pada port non-default, ganti 1433 dengan nomor port tersebut dalam untai (karakter) koneksi. Jika Anda menggunakan SQL Server di Azure Virtual Machine, Anda dapat melihat port mana yang akan digunakan di halaman Keamanan untuk sumber daya.

A screenshot of the SQL virtual machine Security page in the Azure portal. The SQL virtual machine security page has a Security & networking section with a Port field.

Untuk instans SQL Server apa pun, Anda dapat menentukan semua alamat IP dan port yang didengarkannya dengan menghubungkan ke instans dan menjalankan kueri T-SQL berikut, selama setidaknya ada satu koneksi TCP ke instans:

SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP'
      AND
      protocol_type = 'TSQL';

Memantau profil yang dibuat

Pilih Tambahkan komputer virtual pemantauan untuk mengonfigurasi komputer virtual untuk mengumpulkan data dari sumber daya SQL Anda. Jangan kembali ke tab Ringkasan. Dalam beberapa menit, kolom Status akan berubah menjadi pembacaan "Mengumpulkan". Anda akan melihat data untuk sumber daya SQL yang telah Anda pilih untuk dipantau.

Jika Anda tidak melihat data, lihat Memecahkan Masalah Wawasan SQL (pratinjau) untuk mengidentifikasi masalah.

A screenshot of the Azure portal page for Azure Monitor for SQL. In the Insights menu, SQL is selected. A profile is shown to have been created.

Catatan

Jika Anda perlu memperbarui profil pemantauan atau string koneksi pada mesin virtual pemantauan, Anda dapat melakukannya melalui tab Kelola profil Wawasan SQL (pratinjau). Setelah pembaruan Anda disimpan, perubahan akan diterapkan dalam waktu sekitar 5 menit.

Langkah berikutnya