SQL Analizler 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 Analizler (önizleme) özelliğinin 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. Bir izleme profili kullanarak hangi veri kümelerinin toplandığını ve toplama sıklığını denetleyebilirsiniz.

Not

Bir resource manager şablonu kullanarak izleme profili ve sanal makine oluşturarak SQL Analizler (önizleme) özelliğini etkinleştirmek için bkz. SQL Analizler için Resource Manager şablon örnekleri (önizleme).

SQL Analizler (önizleme) özelliğini 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 Analizler verilerini bir veya daha fazla Log Analytics çalışma alanında depolar. SQL Analizler 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 Analizler özelliklerini 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 BENIOKU dosyasına ve örnek betiğine bakın.

Azure SQL Veritabanı

Not

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

SQL Analizler (ö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 zamanlayıcısını sıfırlar ve veritabanının otomatik duraklatılmış duruma girmesini engeller.

ile bir Azure SQL veritabanına BağlanSQL Server Management Studio, Azure portalında Sorgu Düzenleyicisi (önizleme) veya başka bir SQL istemci aracı.

Gerekli izinlere sahip bir kullanıcı oluşturmak için aşağıdaki betiği çalıştırın. kullanıcı adını 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 ve aşağıdaki betiği yürüterek gerekli izinlere sahip izleme kullanıcısını oluşturun. kullanıcı adını 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 makinenizde SQL Server'a Bağlan ve SQL Server Management Studio veya benzer bir araç, gereken izinlere sahip izleme kullanıcısını oluşturmak için aşağıdaki betiği çalıştırır. kullanıcı adını 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ş yalnızca 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üsünü kullanan Ubuntu 18.04. Özel görüntüler desteklenmez. Ubuntu'nun bu sürümü için Genişletilmiş Güvenlik Bakımı (ESM) elde etmek için Ubuntu Pro 18.04 LTS market görüntüsünü kullanmanızı öneririz. Daha fazla bilgi için bkz . Azure'da Linux ve açık kaynak teknolojisi desteği.
  • Ö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ölgesine 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ı dizesi 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ı oluşturabilmeleri 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 Analizler, Azure SQL Veritabanı hem genel uç noktası hem de sanal ağı üzerinden erişmeyi destekler.

Genel uç nokta üzerinden erişim için, Azure portalındaki Güvenlik duvarı ayarları sayfasının ve IP güvenlik duvarı ayarları bölümünün altına bir kural eklersiniz. Sanal ağdan erişim belirtmek için, sanal ağ güvenlik duvarı kurallarını ayarlayabilir ve Azure İzleyici aracısı için gereken hizmet etiketlerini ayarlayabilirsiniz.

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

Azure portalında 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ğın içindeki Bağlan. İzleme sanal makineniz SQL MI kaynaklarınızdan farklı bir sanal ağda yer alacaksa bkz. farklı bir sanal ağ içinde Bağlan.

SQL Server

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

Azure Key Vault'ta 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ı dizesi girmek yerine bir Key Vault'ta 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'u 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'a 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'a erişme ve Azure Key Vault ağ ayarlarını yapılandırma.

SQL izleme profili oluşturma

Azure portalındaki Azure İzleyici menüsünün Analizler bölümünden SQL (önizleme) öğesini seçerek SQL Analizler (önizleme)açın. Yeni profil oluştur'u seçin.

Azure portalında 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. Bunun için belirli ayarları vardır:

  • 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 sql Hazırlama adlı başka bir profil oluşturabilirsiniz.

Profil, seçtiğiniz abonelikte ve kaynak grubunda veri toplama kuralı kaynağı olarak depolanır. Her profilin şunlara ihtiyacı vardır:

  • Adı. Oluşturulduktan sonra düzenlenemez.
  • Konum. Bu 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ında 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ünmelidir. 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ı dizesi sağlandığı sanal makineyi seçmek üzere bir Add monitoring virtual machine bağlam paneli açmak için İzleme makinesi ekle'yi seçin.

İzleme sanal makinenizin aboneliğini ve adını seçin. İzleme oturum açma bilgilerinin parolalarını depolamak için Key Vault kullanıyorsanız (kesinlikle önerilir), altında Key vault subscriptionsbu Key Vault aboneliğini seçin ve ardından altında KeyVaultgizli dizileri depolayan Key Vault'ı seçin. Connection strings alanına kasa URI'sini ve bağlantı dizesi kullanılacak her parolanın gizli dizi adını girin.

Örneğin, Key Vault URI'si https://mykeyvault.vault.azure.net/ise ve gizli dizi adları sqlPassword1 ve sqlPassword2ise alandaki JSON Connection strings şunları içerir:

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

Artık bu gizli dizilere alanda daha fazla Connection strings başvurabilirsiniz. Aşağıdaki örnekte, iki bağlantı dizesi daha önce tanımlanan ve telegrafPassword2 gizli dizilerine başvururtelegrafPassword1:

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

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

Farklı SQL dağıtımları için bağlantı dizesi belirleme hakkında ayrıntılı bilgi için sonraki bölüme bakın.

bağlantı dizesi ekleme

bağlantı dizesi, SQL Analizler'nin (ö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 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. Azure SQL Veritabanı bağlantı mimarisi.

Forma bağlantı dizesi 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ğlan ion dizeleri sayfasından ve veritabanı için uygun ADO.NET uç noktasından ayrıntıları alın.

Okunabilir bir ikincil değeri izlemek için bağlantı dizesi sonuna ekleme;ApplicationIntent=ReadOnly. SQL Analizler 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.

Forma bağlantı dizesi 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ğlan ion 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 ikincil değeri izlemek için bağlantı dizesi sonuna ekleme;ApplicationIntent=ReadOnly. SQL Analizler, 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 SQL Server örneği 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.

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.

Forma bağlantı dizesi 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ı dizesi bağlantı noktası numarasıyla değiştirin. Azure Sanal Makine'de SQL Server kullanıyorsanız, kaynağın Güvenlik sayfasında hangi bağlantı noktasının kullanılacağını görebilirsiniz.

Azure portalında SQL sanal makinesi Güvenlik sayfasının ekran görüntüsü. SQL sanal makinesi güvenlik sayfasında Bağlantı noktası alanı olan bir Güvenlik ve 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 Analizler sorunlarını giderme (önizleme).

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

Not

İzleme profilinizi veya izleme VM'lerinizdeki bağlantı dizesi güncelleştirmeniz gerekiyorsa, bunu SQL Analizler (ö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