SQL Insights'ı etkinleştirme (önizleme)

Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği

Bu makalede, SQL dağıtımlarınızı izlemek için SQL Insights'ın (önizleme) nasıl etkinleştirileceği açıklanır. İzleme, SQL dağıtımlarınızla bağlantı oluşturan ve izleme verilerini toplamak için Dinamik Yönetim Görünümlerini (DMV) kullanan bir Azure sanal makinesinden gerçekleştirilir. İzleme profili kullanarak hangi veri kümelerinin toplandığını ve toplama sıklığını denetleyebilirsiniz.

Not

Bir kaynak yöneticisi şablonu kullanarak izleme profili ve sanal makine oluşturarak SQL Insights'ı (önizleme) etkinleştirmek için bkz. SQL Insights (önizleme) için Resource Manager şablon örnekleri.

SQL Insights'ı (önizleme) etkinleştirmeyi öğrenmek için bu Kullanıma Sunulan Veri bölümüne de başvurabilirsiniz.

Log Analytics çalışma alanı oluşturma

SQL Insights, verilerini bir veya daha fazla Log Analytics çalışma alanında depolar. SQL Insights'ı etkinleştirebilmeniz için önce bir çalışma alanı oluşturmanız veya var olan bir çalışma alanını seçmeniz gerekir. Tek bir çalışma alanı birden çok izleme profiliyle kullanılabilir, ancak çalışma alanı ve profillerin aynı Azure bölgesinde bulunması gerekir. SQL Insights'taki özellikleri etkinleştirmek ve bu özelliklere erişmek için çalışma alanında Log Analytics katkıda bulunanı rolüne sahip olmanız gerekir.

İzleme kullanıcısı oluşturma

İzlemek istediğiniz SQL dağıtımlarında bir kullanıcı (oturum açma) gerekir. Farklı SQL dağıtım türleri için aşağıdaki yordamları izleyin.

Aşağıdaki yönergeler, izleyebileceğiniz SQL türüne göre işlemi kapsar. Bunu birkaç SQL kaynağında aynı anda bir betikle gerçekleştirmek için lütfen aşağıdaki BENİOKU dosyasına ve örnek betike bakın.

Azure SQL Veritabanı

Not

SQL Insights (önizleme) aşağıdaki Azure SQL Veritabanı senaryolarını desteklemez:

SQL Insights (önizleme), aşağıdaki Azure SQL Veritabanı senaryoları için sınırlı desteğe sahiptir:

  • Sunucusuz katman: Ölçümler , sunucusuz işlem katmanı kullanılarak veritabanları için toplanabilir. Ancak ölçümleri toplama işlemi otomatik duraklatma gecikme süreölçeri sıfırlanarak veritabanının otomatik duraklatılmış duruma geçmesini engeller.

SQL Server Management Studio, Azure portal Sorgu Düzenleyicisi (önizleme) veya başka bir SQL istemci aracıyla Azure SQL veritabanına bağlanın.

Gerekli izinlere sahip bir kullanıcı oluşturmak için aşağıdaki betiği çalıştırın. kullanıcı adını bir kullanıcı adıyla ve mystrongpassword değerini güçlü bir parolayla değiştirin.

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

Telegraf kullanıcı betiği oluşturma ile Sorgu Düzenleyicisi ekran görüntüsü.

Kullanıcının oluşturulduğunu doğrulayın.

Telegraf kullanıcı betiğini doğrulayan Sorgu Düzenleyicisi sorgu penceresinin ekran görüntüsü.

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

Azure SQL Yönetilen Örnek

SQL Server Management Studio veya benzer bir araç kullanarak Azure SQL Yönetilen Örneği bağlanın ve aşağıdaki betiği yürüterek izleme kullanıcısını gereken izinlerle oluşturun. kullanıcı adını bir kullanıcı adıyla ve mystrongpassword değerini güçlü bir parolayla değiştirin.

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 

SQL Server

Azure sanal makinenizdeki SQL Server bağlanın ve SQL Server Management Studio veya benzer bir aracı kullanarak aşağıdaki betiği çalıştırarak izleme kullanıcısını gereken izinlerle oluşturun. kullanıcı adını bir kullanıcı adıyla ve mystrongpassword değerini güçlü bir parolayla değiştirin.

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

Kullanıcının oluşturulduğunu doğrulayın.

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

Azure Sanal Makinesi oluşturma

SQL'i izlemek için veri toplamak için kullanılacak bir veya daha fazla Azure sanal makinesi oluşturmanız gerekir.

Not

İzleme profilleri, izlemek istediğiniz farklı SQL türlerinden hangi verileri toplayacağınız belirtir. Her izleme sanal makinesinin kendisiyle ilişkilendirilmiş tek bir izleme profili olabilir. Birden çok izleme profiline ihtiyacınız varsa her biri için bir sanal makine oluşturmanız gerekir.

Azure sanal makine gereksinimleri

Azure sanal makinesi aşağıdaki gereksinimlere sahiptir:

  • İşletim sistemi: Azure Market görüntü kullanan Ubuntu 18.04. Özel görüntüler desteklenmez.
  • Önerilen en düşük Azure sanal makine boyutları: Standard_B2s (2 CPU, 4 GiB bellek)
  • Azure İzleyici aracısı tarafından desteklenen herhangi bir Azure bölgesinde dağıtılır ve tüm Azure İzleyici aracısı önkoşullarını karşılar.

Not

Standard_B2s (2 CPU, 4 GiB bellek) sanal makine boyutu en fazla 100 bağlantı dizesini destekler. Tek bir sanal makineye 100'den fazla bağlantı ayırmamalısınız.

SQL kaynaklarınızın ağ ayarlarına bağlı olarak, izleme verilerini toplamak için ağ bağlantıları yapabilmeleri için sanal makinelerin SQL kaynaklarınızla aynı sanal ağa yerleştirilmesi gerekebilir.

Ağ ayarlarını yapılandırma

Her SQL türü, izleme sanal makinenizin SQL'e güvenli bir şekilde erişmesi için yöntemler sunar. Aşağıdaki bölümlerde SQL dağıtım türüne göre seçenekler ele alınmaktadır.

Azure SQL Veritabanı

SQL İçgörüleri, Azure SQL Veritabanınıza hem genel uç noktası hem de sanal ağından erişmeyi destekler.

Genel uç nokta üzerinden erişim için Güvenlik duvarı ayarları sayfasının ve IP güvenlik duvarı ayarları bölümünün altına bir kural ekleyebilirsiniz. Bir sanal ağdan erişimi belirtmek için sanal ağ güvenlik duvarı kuralları ayarlayabilir ve Azure İzleyici aracısı için gereken hizmet etiketlerini ayarlayabilirsiniz. Bu makalede , bu iki güvenlik duvarı kuralı türü arasındaki farklar açıklanmaktadır.

Azure portal Azure SQL Veritabanı sayfasının ekran görüntüsü. Sunucu güvenlik duvarını ayarla düğmesi vurgulanır.

Azure portal Azure SQL Veritabanı Güvenlik Duvarı ayarları sayfasının ekran görüntüsü. Güvenlik duvarı ayarları.

Azure SQL Yönetilen Örnek

İzleme sanal makineniz SQL MI kaynaklarınız ile aynı sanal ağda yer alacaksa bkz. Aynı sanal ağ içinde bağlanma. İzleme sanal makineniz SQL MI kaynaklarınızdan farklı bir sanal ağda yer alacaksa bkz. Farklı bir sanal ağ içinde bağlanma.

SQL Server

İzleme sanal makineniz SQL sanal makine kaynaklarınız ile aynı sanal ağdaysa bkz. Sanal ağ içindeki SQL Server bağlanma. İzleme sanal makineniz SQL sanal makine kaynaklarınızdan farklı bir sanal ağda yer alacaksa bkz. İnternet üzerinden SQL Server bağlanma.

Azure Key Vault'de izleme parolasını depolama

En iyi güvenlik uygulaması olarak, SQL kullanıcı (oturum açma) parolalarınızı doğrudan izleme profili bağlantı dizelerinize girmek yerine bir Key Vault depolamanızı kesinlikle öneririz.

PROFILInizi SQL izleme için ayarlarken, kullanmayı planladığınız Key Vault kaynağında aşağıdaki izinlerden birine ihtiyacınız olacaktır:

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

Bu izinlere sahipseniz, belirttiğiniz Key Vault kullanan SQL İzleme profilinizi oluşturmanın bir parçası olarak yeni bir Key Vault erişim ilkesi otomatik olarak oluşturulur.

Önemli

Ağ ve güvenlik yapılandırmasının izleme VM'sinin Key Vault erişmesine izin verdiğinden emin olmanız gerekir. Daha fazla bilgi için bkz. Güvenlik duvarının arkasındaki Azure Key Vault erişme ve Azure Key Vault ağ ayarlarını yapılandırma.

SQL izleme profili oluşturma

Azure portal Azure İzleyici menüsünün İçgörüler bölümünde SQL (önizleme) öğesini seçerek SQL İçgörüleri'ni (önizleme) açın. Yeni profil oluştur'u seçin.

Azure portal'daki Azure İzleyici sayfasının ekran görüntüsü. Yeni profil oluştur düğmesi vurgulanır.

Profil, SQL sistemlerinizden toplamak istediğiniz bilgileri depolar. Şu ayarlar için belirli ayarlara sahiptir:

  • Azure SQL Veritabanı
  • Azure SQL Yönetilen Örnek
  • sanal makinelerde çalışan SQL Server

Örneğin, veri toplama sıklığı, hangi verilerin toplanması ve verilerin hangi çalışma alanına gönderilmesi için farklı ayarlarla SQL Üretim adlı bir profil ve başka bir adlandırılmış SQL Hazırlama oluşturabilirsiniz.

Profil, seçtiğiniz abonelikte ve kaynak grubunda veri toplama kuralı kaynağı olarak depolanır. Her profil için şunlar gerekir:

  • Adı. Oluşturulduktan sonra düzenlenemez.
  • Konum. Burası bir Azure bölgesidir.
  • İzleme verilerini depolamak için Log Analytics çalışma alanı.
  • Toplayacak sql izleme verilerinin sıklığı ve türü için koleksiyon ayarları.

Not

Profilin konumu, izleme verilerini göndermeyi planladığınız Log Analytics çalışma alanıyla aynı konumda olmalıdır.

Azure portal Yeni profil ayrıntıları oluştur sayfasının ekran görüntüsü.

İzleme profilinizin ayrıntılarını girdikten sonra İzleme profili oluştur'u seçin. Profilin dağıtılması bir dakika kadar sürebilir. İzleme profili birleşik giriş kutusunda listelenen yeni profili görmüyorsanız, yenile düğmesini seçin; dağıtım tamamlandıktan sonra görüntülenmelidir. Yeni profili seçtikten sonra Profille ilişkilendirilecek bir izleme makinesi eklemek için Profili yönet sekmesini seçin.

İzleme makinesi ekleme

SQL örneklerinizin izleneceği ve bağlantı dizelerinin sağlandığı sanal makineyi seçmek üzere bir bağlam paneli açmak için İzleme makinesi ekle'yi seçin.

İzleme sanal makinenizin aboneliğini ve adını seçin. İzleme kullanıcısının parolasını depolamak için Key Vault kullanıyorsanız, bu gizli dizileri içeren Key Vault kaynaklarını seçin ve bağlantı dizelerinde kullanılacak parolanın URI'sini ve gizli dizi adını girin. Farklı SQL dağıtımları için bağlantı dizesini tanımlamayla ilgili ayrıntılar için sonraki bölüme bakın.

İzleme sanal makinesi ekle Azure portal ekran görüntüsü. VM'yi seçin, KV URL'sini (kullanıldıysa) ve gizli dizi adını belirtin. İzlenecek her sistem için bağlantı dizelerini girin. Bağlantı dizelerinde kullanılan gizli diziyi oluşturduğunuz KV'yi seçin.

Bağlantı dizeleri ekleme

Bağlantı dizesi, SQL Insights'ın (önizleme) izleme verilerini toplamak için SQL'de oturum açarken kullanması gereken oturum açma adını belirtir. İzleme kullanıcınızın parolasını depolamak için bir Key Vault kullanıyorsanız Key Vault URI'sini ve parolayı içeren gizli dizinin adını sağlayın.

Bağlantı dizesi her SQL kaynağı türü için farklılık gösterir:

Azure SQL Veritabanı

İzleme makinesinden veritabanı tarafından kullanılan IP adresine ve bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir. IP adresleri ve bağlantı noktaları hakkında ayrıntılı bilgi için bkz. veritabanı bağlantı mimarisini Azure SQL.

Bağlantı dizesini şu biçimde girin:

"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;"
]

Bağlantı dizeleri sayfasından ve veritabanı için uygun ADO.NET uç noktasından ayrıntıları alın.

Okunabilir bir ikincili izlemek için bağlantı dizesine ekleyin ;ApplicationIntent=ReadOnly . SQL İçgörüleri tek bir ikincil izlemeyi destekler. Toplanan veriler birincil veya ikincil verileri yansıtacak şekilde etiketlenir.

Azure SQL Yönetilen Örnek

İzleme makinesinden yönetilen örnek tarafından kullanılan IP adresine ve bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir. IP adresleri ve bağlantı noktalarıyla ilgili ayrıntılar için bkz. Azure SQL Yönetilen Örneği bağlantı türleri.

Bağlantı dizesini şu biçimde girin:

"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;" 
] 

Bağlantı dizeleri sayfasından ve yönetilen örnek için uygun ADO.NET uç noktasından ayrıntıları alın. Yönetilen örnek genel uç noktasını kullanıyorsanız 1433 numaralı bağlantı noktasını 3342 ile değiştirin.

Okunabilir bir ikincili izlemek için bağlantı dizesine ekleyin ;ApplicationIntent=ReadOnly . SQL Insights, belirli bir birincil veritabanı için tek bir yüksek kullanılabilirlik (HA) ikincil çoğaltmasının izlenmesini destekler. Toplanan veriler Birincil veya İkincil'i yansıtacak şekilde etiketlenir.

SQL Server

İzlemek istediğiniz SQL Server örneği için TCP/IP protokolü etkinleştirilmelidir. İzleme makinesinden IP adresine ve SQL Server örneği tarafından kullanılan bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir.

Yüksek kullanılabilirlik için yapılandırılmış SQL Server izlemek istiyorsanız (kullanılabilirlik gruplarını veya yük devretme kümesi örneklerini kullanarak), kullanılabilirlik grubu dinleyicisi veya yük devretme kümesi adı üzerinden bağlanmak yerine kümedeki her SQL Server örneğini tek tek izlemenizi öneririz. Bu, izleme verilerinin geçerli örnek rolünden (birincil veya ikincil) bağımsız olarak toplanmasını sağlar.

Bağlantı dizesini şu biçimde girin:

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

SQL Server örneğinin dinlediğini IP adresini kullanın.

SQL Server örneğiniz varsayılan olmayan bir bağlantı noktasında dinleyecek şekilde yapılandırılmışsa, 1433 değerini bağlantı dizesindeki bağlantı noktası numarasıyla değiştirin. Azure Sanal Makinesinde SQL Server kullanıyorsanız, kaynağın Güvenlik sayfasında hangi bağlantı noktasının kullanılacağını görebilirsiniz.

Azure portal SQL sanal makinesi Güvenlik sayfasının ekran görüntüsü. SQL sanal makine güvenlik sayfasında Bağlantı noktası alanı olan bir Güvenlik & ağı bölümü vardır.

Herhangi bir SQL Server örneği için, örneğe bağlanarak ve örneğe en az bir TCP bağlantısı olduğu sürece aşağıdaki T-SQL sorgusunu yürüterek dinlediği tüm IP adreslerini ve bağlantı noktalarını belirleyebilirsiniz:

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

Oluşturulan izleme profili

SQL kaynaklarınızdan veri toplamak üzere sanal makineyi yapılandırmak için İzleme sanal makinesi ekle'yi seçin. Genel Bakış sekmesine geri dönmeyin. Birkaç dakika içinde Durum sütunu "Toplanıyor" olarak değiştirilmelidir. İzlemeyi seçtiğiniz SQL kaynaklarına ilişkin verileri görmeniz gerekir.

Verileri görmüyorsanız, sorunu belirlemek için bkz. SQL Insights (önizleme) sorunlarını giderme .

SQL için Azure İzleyici'nin Azure portal sayfasının ekran görüntüsü. İçgörüler menüsünde SQL seçilidir. Bir profilin oluşturulduğu gösterilir.

Not

İzleme profilinizi veya izleme VM'lerinizdeki bağlantı dizelerini güncelleştirmeniz gerekiyorsa, bunu SQL Insights (önizleme) Profili yönet sekmesi aracılığıyla yapabilirsiniz. Güncelleştirmeleriniz kaydedildikten sonra değişiklikler yaklaşık 5 dakika içinde uygulanır.

Sonraki adımlar