Povolení sql Přehledy (Preview)

Platí pro:Azure SQL DatabaseAzure SQL Managed Instance

Tento článek popisuje, jak povolit sql Přehledy (Preview) k monitorování nasazení SQL. Monitorování se provádí z virtuálního počítače Azure, který vytvoří připojení k vašim nasazením SQL a ke shromažďování dat monitorování používá zobrazení dynamické správy (DMV). Pomocí profilu monitorování můžete určit, jaké datové sady se shromažďují, a frekvenci shromažďování dat.

Poznámka:

Pokud chcete povolit SQL Přehledy (Preview) vytvořením profilu monitorování a virtuálního počítače pomocí šablony Resource Manageru, prohlédněte si ukázky šablon Resource Manageru pro SQL Přehledy (Preview).

Pokud se chcete dozvědět, jak povolit SQL Přehledy (Preview), můžete se také podívat na tuto epizodu Vystavená data.

Vytvoření pracovního prostoru služby Log Analytics

SQL Přehledy ukládá data do jednoho nebo více pracovních prostorů služby Log Analytics. Než budete moct povolit sql Přehledy, musíte buď vytvořit pracovní prostor, nebo vybrat existující. Jeden pracovní prostor lze použít s více profily monitorování, ale pracovní prostor a profily musí být umístěné ve stejné oblasti Azure. Pokud chcete povolit a získat přístup k funkcím v SQL Přehledy, musíte mít v pracovním prostoru roli přispěvatele Log Analytics.

Vytvoření monitorování uživatele

Potřebujete uživatele (přihlášení) k nasazením SQL, která chcete monitorovat. Pro různé typy nasazení SQL postupujte podle následujících postupů.

Následující pokyny popisují proces podle typu SQL, který můžete monitorovat. Pokud to chcete provést pomocí skriptu na několika prostředcích SQL najednou, projděte si následující soubor README a ukázkový skript.

Azure SQL Database

Poznámka:

SQL Přehledy (Preview) nepodporuje následující scénáře Azure SQL Database:

  • Elastické fondy: Metriky nelze shromáždit pro elastické fondy. Metriky nelze shromáždit pro databáze v rámci elastických fondů.
  • Nízké úrovně služby: Metriky nelze shromáždit pro databáze pro cíle služby Basic, S0 a S1 .

SQL Přehledy (Preview) má omezenou podporu pro následující scénáře Azure SQL Database:

  • Bezserverová úroveň: Metriky je možné shromáždit pro databáze pomocí bezserverové výpočetní úrovně. Proces shromažďování metrik ale resetuje časovač zpoždění automatického pozastavení, což databázi brání v zadání automaticky pozastaveného stavu.

Připojení do databáze Azure SQL s využitím SQL Server Management Studio, Editor Power Query (Preview) na webu Azure Portal nebo jakýkoli jiný klientský nástroj SQL.

Spuštěním následujícího skriptu vytvořte uživatele s požadovanými oprávněními. Nahraďte uživatele uživatelským jménem a mystrongpassword silným heslem.

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

Snímek obrazovky Editor Power Query s uživatelským skriptem pro vytvoření telegrafu

Ověřte, že byl uživatel vytvořen.

Snímek obrazovky s oknem dotazu Editor Power Query ověřující uživatelský skript telegrafu

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 Managed Instance

Připojení do spravované instance Azure SQL pomocí SQL Server Management Studio nebo podobný nástroj a spuštěním následujícího skriptu vytvořte uživatele monitorování s potřebnými oprávněními. Nahraďte uživatele uživatelským jménem a mystrongpassword silným heslem.

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

Připojení k SQL Serveru na virtuálním počítači Azure a použití SQL Server Management Studio nebo podobný nástroj pro spuštění následujícího skriptu, který vytvoří uživatele monitorování s potřebnými oprávněními. Nahraďte uživatele uživatelským jménem a mystrongpassword silným heslem.

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

Ověřte, že byl uživatel vytvořen.

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

Vytvoření virtuálního počítače Azure

Budete muset vytvořit jeden nebo více virtuálních počítačů Azure, které se použijí ke shromažďování dat pro monitorování SQL.

Poznámka:

Profily monitorování určují, jaká data budete shromažďovat z různých typů SQL, které chcete monitorovat. Ke každému monitorovacímu virtuálnímu počítači může být přidružený jenom jeden profil monitorování. Pokud potřebujete více profilů monitorování, musíte pro každý z nich vytvořit virtuální počítač.

Požadavky na virtuální počítače Azure

Virtuální počítač Azure má následující požadavky:

  • Operační systém: Ubuntu 18.04 pomocí image Azure Marketplace. Vlastní image nejsou podporovány. Pokud chcete získat rozšířenou údržbu zabezpečení (ESM) pro tuto verzi Ubuntu, doporučujeme použít image Marketplace Ubuntu Pro 18.04 LTS. Další informace najdete v tématu Podpora linuxové a opensourcové technologie v Azure.
  • Doporučené minimální velikosti virtuálních počítačů Azure: Standard_B2s (2 procesory, paměť 4 GiB)
  • Nasazené v libovolné oblasti Azure podporované agentem Služby Azure Monitor a splnění všech požadavků agenta služby Azure Monitor.

Poznámka:

Velikost virtuálního počítače Standard_B2s (2 procesory, paměť 4 GiB) bude podporovat až 100 připojovací řetězec. Neměli byste přidělit více než 100 připojení k jednomu virtuálnímu počítači.

V závislosti na nastavení sítě vašich prostředků SQL může být potřeba virtuální počítače umístit do stejné virtuální sítě jako prostředky SQL, aby mohly vytvářet síťová připojení ke shromažďování dat monitorování.

Konfigurace nastavení sítě

Každý typ SQL nabízí metody pro monitorování virtuálního počítače pro zabezpečený přístup k SQL. Následující části popisují možnosti založené na typu nasazení SQL.

Azure SQL Database

SQL Přehledy podporuje přístup ke službě Azure SQL Database prostřednictvím svého veřejného koncového bodu i z virtuální sítě.

Pro přístup přes veřejný koncový bod byste na webu Azure Portal přidali pravidlo na stránce nastavení brány firewall a v části Nastavení brány firewall protokolu IP. Pro zadání přístupu z virtuální sítě můžete nastavit pravidla brány firewall virtuální sítě a nastavit značky služeb vyžadované agentem služby Azure Monitor.

Snímek obrazovky se stránkou Azure SQL Database na webu Azure Portal Tlačítko Nastavit bránu firewall serveru je zvýrazněné.

Snímek obrazovky se stránkou nastavení brány firewall služby Azure SQL Database na webu Azure Portal Nastavení brány firewall

Azure SQL Managed Instance

Pokud bude váš virtuální počítač monitorování ve stejné virtuální síti jako prostředky SQL MI, podívejte se na Připojení ve stejné virtuální síti. Pokud bude váš virtuální počítač monitorování v jiné virtuální síti než prostředky SQL MI, podívejte se na Připojení v jiné virtuální síti.

SQL Server

Pokud je váš monitorovací virtuální počítač ve stejné virtuální síti jako prostředky virtuálního počítače SQL, přečtěte si téma Připojení k SQL Serveru v rámci virtuální sítě. Pokud bude váš monitorovací virtuální počítač v jiné virtuální síti než prostředky virtuálního počítače SQL, přečtěte si Připojení sql Serveru přes internet.

Uložení hesla monitorování ve službě Azure Key Vault

Jako osvědčený postup zabezpečení důrazně doporučujeme ukládat hesla uživatelů SQL (přihlášení) ve službě Key Vault, a ne je zadávat přímo do profilu monitorování připojovací řetězec.

Při nastavování profilu pro monitorování SQL budete potřebovat jedno z následujících oprávnění k prostředku služby Key Vault, který chcete použít:

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

Pokud máte tato oprávnění, automaticky se vytvoří nová zásada přístupu ke službě Key Vault jako součást vytvoření profilu monitorování SQL, který používá vámi zadanou službu Key Vault.

Důležité

Potřebujete zajistit, aby konfigurace sítě a zabezpečení umožňovala monitorování virtuálního počítače přístup ke službě Key Vault. Další informace najdete v tématu Přístup ke službě Azure Key Vault za bránou firewall a konfiguraci nastavení sítě služby Azure Key Vault.

Vytvoření profilu monitorování SQL

Otevřete SQL Přehledy (Preview) tak, že v nabídce služby Azure Monitor na webu Azure Portal vyberete SQL (Preview) v části Přehledy. Vyberte Vytvořit nový profil.

Snímek obrazovky se stránkou Azure Monitor na webu Azure Portal Tlačítko Vytvořit nový profil je zvýrazněné.

Profil bude ukládat informace, které chcete shromažďovat ze svých systémů SQL. Má konkrétní nastavení pro:

  • Azure SQL Database
  • Azure SQL Managed Instance
  • SQL Server spuštěný na virtuálních počítačích

Můžete například vytvořit jeden profil s názvem SQL Production a jiný s názvem Příprava SQL s různými nastaveními pro frekvenci shromažďování dat, jaká data se mají shromažďovat a do kterého pracovního prostoru se mají data odesílat.

Profil se uloží jako prostředek pravidla shromažďování dat v předplatném a vybrané skupině prostředků. Každý profil potřebuje následující:

  • Název. Po vytvoření nelze upravit.
  • Umístění. Toto je oblast Azure.
  • Pracovní prostor služby Log Analytics pro ukládání dat monitorování
  • Nastavení shromažďování pro frekvenci a typ dat monitorování SQL, která se mají shromažďovat.

Poznámka:

Umístění profilu by mělo být ve stejném umístění jako pracovní prostor služby Log Analytics, do které plánujete odesílat data monitorování.

Snímek obrazovky se stránkou Vytvořit nový profil na webu Azure Portal

Po zadání podrobností profilu monitorování vyberte Vytvořit profil monitorování. Nasazení profilu může trvat až minutu. Pokud nový profil uvedený v poli se seznamem Profil monitorování nevidíte, vyberte tlačítko Aktualizovat a mělo by se zobrazit po dokončení nasazení. Jakmile vyberete nový profil, vyberte kartu Spravovat profil a přidejte počítač monitorování, který bude přidružený k profilu.

Přidání monitorovacího počítače

Výběrem možnosti Přidat monitorovací počítač otevřete kontextový Add monitoring virtual machine panel a vyberte virtuální počítač, ze kterého chcete monitorovat instance SQL, a zadejte připojovací řetězec.

Vyberte předplatné a název virtuálního počítače pro monitorování. Pokud používáte službu Key Vault k ukládání hesel pro přihlášení monitorování (důrazně doporučujeme), vyberte předplatné tohoto trezoru klíčů v části Key vault subscriptionsa pak vyberte trezor klíčů, ve kterém jsou uložené tajné kódy KeyVault. Connection strings Do pole zadejte identifikátor URI trezoru a název tajného kódu pro každé heslo, které se má použít v připojovací řetězec.

Pokud je https://mykeyvault.vault.azure.net/například identifikátor URI služby Key Vault a názvy tajných kódů jsou sqlPassword1 a sqlPassword2pak json v Connection strings poli bude obsahovat následující:

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

Teď můžete na tyto tajné kódy odkazovat dále v Connection strings poli. V následujícím příkladu dva připojovací řetězec odkazují na telegrafPassword1 dříve definované tajné telegrafPassword2 kódy:

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

Snímek obrazovky se stránkou Přidání monitorování virtuálního počítače na webu Azure Portal Zvolte virtuální počítač, zadejte adresu URL KV (pokud se používá) a název tajného kódu. Zadejte připojovací řetězec pro každý systém, který chcete monitorovat. Vyberte klíč KV, ve kterém jste vytvořili tajný kód použitý v připojovací řetězec.

Podrobnosti o identifikaci připojovací řetězec pro různá nasazení SQL najdete v další části.

Přidání připojovací řetězec

Připojovací řetězec určuje přihlašovací jméno, které má SQL Přehledy (Preview) použít při přihlašování k SQL ke shromažďování dat monitorování. Pokud k uložení hesla pro uživatele monitorování používáte Key Vault, zadejte identifikátor URI služby Key Vault a název tajného klíče, který obsahuje heslo.

Připojovací řetězec se bude lišit pro každý typ prostředku SQL:

Azure SQL Database

Připojení TCP z monitorovacího počítače k IP adrese a portu používanému databází musí být povolena všemi bránami firewall nebo skupinami zabezpečení sítě (NSG), které mohou existovat v síťové cestě. Podrobnosti o IP adresách a portech najdete v architektuře připojení ke službě Azure SQL Database.

Do formuláře zadejte připojovací řetězec:

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

Podrobnosti získáte ze stránky Připojení ionových řetězců a příslušného koncového bodu ADO.NET pro databázi.

Pokud chcete monitorovat čitelný sekundární objekt, připojte ;ApplicationIntent=ReadOnly se k připojovací řetězec. SQL Přehledy podporuje monitorování jedné sekundární. Shromážděná data budou označena tak, aby odrážela primární nebo sekundární.

Azure SQL Managed Instance

Připojení TCP z monitorovacího počítače k IP adrese a portu používanému spravovanou instancí musí být povolena všemi bránami firewall nebo skupinami zabezpečení sítě (NSG), které mohou existovat v síťové cestě. Podrobnosti o IP adresách a portech najdete v tématu Typy připojení ke službě Azure SQL Managed Instance.

Do formuláře zadejte připojovací řetězec:

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

Podrobnosti získáte ze stránky řetězců Připojení ionu a příslušného koncového bodu ADO.NET pro spravovanou instanci. Pokud používáte veřejný koncový bod spravované instance, nahraďte port 1433 3342.

Pokud chcete monitorovat čitelný sekundární objekt, připojte ;ApplicationIntent=ReadOnly se k připojovací řetězec. SQL Přehledy podporuje monitorování jedné sekundární repliky s vysokou dostupností (HA) pro danou primární databázi. Shromážděná data budou označena tak, aby odrážela primární nebo sekundární.

SQL Server

Pro instanci SQL Serveru, kterou chcete monitorovat, musí být povolený protokol TCP/IP. Připojení TCP z monitorovacího počítače k IP adrese a portu používanému instancí SQL Serveru musí být povolena všemi bránami firewall nebo skupinami zabezpečení sítě (NSG), které mohou existovat v síťové cestě.

Pokud chcete monitorovat SQL Server nakonfigurovaný pro vysokou dostupnost (buď pomocí skupin dostupnosti, nebo instancí clusteru s podporou převzetí služeb při selhání), doporučujeme monitorovat každou instanci SQL Serveru v clusteru jednotlivě, místo abyste se připojovali prostřednictvím naslouchacího procesu skupiny dostupnosti nebo názvu clusteru s podporou převzetí služeb při selhání. Tím se zajistí, že se data monitorování shromažďují bez ohledu na aktuální roli instance (primární nebo sekundární).

Do formuláře zadejte připojovací řetězec:

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

Použijte IP adresu, na které instance SQL Serveru naslouchá.

Pokud je vaše instance SQL Serveru nakonfigurovaná tak, aby naslouchala na nestandardním portu, nahraďte 1433 tímto číslem portu v připojovací řetězec. Pokud používáte SQL Server na virtuálním počítači Azure, můžete zjistit, který port se má pro prostředek použít na stránce Zabezpečení .

Snímek obrazovky se stránkou Zabezpečení virtuálního počítače SQL na webu Azure Portal Stránka zabezpečení virtuálního počítače SQL obsahuje část Zabezpečení a sítě s polem Port.

U jakékoli instance SQL Serveru můžete určit všechny IP adresy a porty, na které naslouchá, připojením k instanci a spuštěním následujícího dotazu T-SQL, pokud existuje alespoň jedno připojení TCP k instanci:

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

Vytvořený profil monitorování

Vyberte Přidat monitorovací virtuální počítač a nakonfigurujte virtuální počítač tak, aby shromažďovat data z vašich prostředků SQL. Nevracejte se na kartu Přehled . Během několika minut by se sloupec Stav měl změnit na čtení "Shromažďování", měli byste vidět data pro prostředky SQL, které jste se rozhodli monitorovat.

Pokud se nezobrazují data, informace o problému najdete v tématu Řešení potíží s SQL Přehledy (Preview).

Snímek obrazovky se stránkou webu Azure Portal pro Azure Monitor pro SQL V nabídce Přehledy je vybraná možnost SQL. Zobrazí se profil, který je vytvořen.

Poznámka:

Pokud potřebujete aktualizovat profil monitorování nebo připojovací řetězec na virtuálních počítačích pro monitorování, můžete to udělat prostřednictvím karty Spravovat profil SQL Přehledy (Preview). Po uložení aktualizací se změny použijí přibližně za 5 minut.

Další kroky