Udostępnij za pośrednictwem


Włączanie usługi SQL Insights (wersja zapoznawcza)

Dotyczy: Azure SQL Database Azure SQL Managed Instance

W tym artykule opisano sposób włączania usługi SQL Insights (wersja zapoznawcza) w celu monitorowania wdrożeń SQL. Monitorowanie jest wykonywane z maszyny wirtualnej platformy Azure, która nawiązuje połączenie z wdrożeniami SQL i używa dynamicznych widoków zarządzania (DMV) do zbierania danych monitorowania. Możesz kontrolować, jakie zestawy danych są zbierane, oraz częstotliwość zbierania przy użyciu profilu monitorowania.

Uwaga

Aby włączyć usługę SQL Insights (wersja zapoznawcza) przez utworzenie profilu monitorowania i maszyny wirtualnej przy użyciu szablonu usługi Resource Manager, zobacz Przykłady szablonów usługi Resource Manager dla usługi SQL Insights (wersja zapoznawcza).

Aby dowiedzieć się, jak włączyć usługę SQL Insights (wersja zapoznawcza), możesz również zapoznać się z tym odcinek uwidoczniony w danych.

Tworzenie obszaru roboczego usługi Log Analytics

Usługa SQL Insights przechowuje swoje dane w co najmniej jednym obszarze roboczym usługi Log Analytics. Aby włączyć usługę SQL Insights, musisz utworzyć obszar roboczy lub wybrać istniejący. Pojedynczy obszar roboczy może być używany z wieloma profilami monitorowania, ale obszar roboczy i profile muszą znajdować się w tym samym regionie świadczenia usługi Azure. Aby włączyć i uzyskać dostęp do funkcji w usłudze SQL Insights, musisz mieć rolę współautora usługi Log Analytics w obszarze roboczym.

Tworzenie użytkownika monitorowania

Potrzebujesz użytkownika (identyfikatora logowania) we wdrożeniach SQL, które chcesz monitorować. Postępuj zgodnie z poniższymi procedurami dla różnych typów wdrożeń SQL.

Poniższe instrukcje obejmują proces dla każdego typu bazy danych SQL, którą można monitorować. Aby to osiągnąć za pomocą skryptu na kilku zasobach SQL jednocześnie, zapoznaj się z następującym plikiem README i przykładowym skryptem.

Uwaga

Usługa SQL Insights (wersja zapoznawcza) nie obsługuje następujących scenariuszy usługi Azure SQL Database:

  • Pule elastyczne: nie można zbierać metryk dla pul elastycznych. Nie można zbierać metryk dla baz danych w pulach elastycznych.
  • Warstwy usług niskich: nie można zbierać metryk dla baz danych w celach usługi Podstawowa, S0 i S1

Usługa SQL Insights (wersja zapoznawcza) ma ograniczoną obsługę następujących scenariuszy usługi Azure SQL Database:

  • Warstwa bezserwerowa: Metryki można zbierać dla baz danych przy użyciu bezserwerowej warstwy obliczeniowej. Jednak proces zbierania metryk spowoduje zresetowanie czasomierza opóźnienia automatycznego wstrzymania, co uniemożliwia bazie danych wprowadzanie stanu automatycznego wstrzymania.

Połącz się z bazą danych Azure SQL Database za pomocą programu SQL Server Management Studio, Edytor Power Query (wersja zapoznawcza) w witrynie Azure Portal lub dowolnego innego narzędzia klienckiego SQL.

Uruchom następujący skrypt, aby utworzyć użytkownika z wymaganymi uprawnieniami. Zastąp użytkownika nazwą użytkownika i nazwą mystrongpassword silnym hasłem.

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

Zrzut ekranu przedstawiający Edytor Power Query ze skryptem tworzenia użytkownika telegrafu.

Sprawdź, czy użytkownik został utworzony.

Zrzut ekranu przedstawiający okno zapytania Edytor Power Query sprawdzające skrypt użytkownika 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

Tworzenie maszyny wirtualnej platformy Azure

Należy utworzyć co najmniej jedną maszynę wirtualną platformy Azure, która będzie używana do zbierania danych w celu monitorowania bazy danych SQL.

Uwaga

Profile monitorowania określają, jakie dane będą zbierane z różnych typów usługi SQL, które chcesz monitorować. Każda maszyna wirtualna monitorowania może mieć skojarzony tylko jeden profil monitorowania. Jeśli potrzebujesz wielu profilów monitorowania, musisz utworzyć maszynę wirtualną dla każdego z nich.

Wymagania maszyny wirtualnej platformy Azure

Maszyna wirtualna platformy Azure ma następujące wymagania:

Uwaga

Rozmiar maszyny wirtualnej Standard_B2s (2 procesory CPU, 4 GiB) będzie obsługiwać maksymalnie 100 parametry połączenia. Nie należy przydzielać więcej niż 100 połączeń do jednej maszyny wirtualnej.

W zależności od ustawień sieci zasobów SQL może być konieczne umieszczenie maszyn wirtualnych w tej samej sieci wirtualnej co zasoby SQL, aby umożliwić nawiązywanie połączeń sieciowych w celu zbierania danych monitorowania.

Konfigurowanie ustawień sieciowych

Każdy typ bazy danych SQL oferuje metody dla maszyny wirtualnej monitorowania w celu bezpiecznego uzyskiwania dostępu do bazy danych SQL. W poniższych sekcjach opisano opcje oparte na typie wdrożenia SQL.

Usługa SQL Insights obsługuje uzyskiwanie dostępu do usługi Azure SQL Database za pośrednictwem publicznego punktu końcowego, a także z sieci wirtualnej.

Aby uzyskać dostęp za pośrednictwem publicznego punktu końcowego, należy dodać regułę na stronie Ustawienia zapory i w sekcji Ustawienia zapory adresów IP w witrynie Azure Portal. Aby określić dostęp z sieci wirtualnej, można ustawić reguły zapory sieci wirtualnej i ustawić tagi usług wymagane przez agenta usługi Azure Monitor.

Zrzut ekranu przedstawiający stronę usługi Azure SQL Database w witrynie Azure Portal. Przycisk Ustaw zaporę serwera jest wyróżniony.

Zrzut ekranu przedstawiający stronę ustawień zapory usługi Azure SQL Database w witrynie Azure Portal. Ustawienia zapory.

Przechowywanie hasła monitorowania w usłudze Azure Key Vault

Najlepszym rozwiązaniem w zakresie zabezpieczeń jest zdecydowanie zalecane przechowywanie haseł użytkownika SQL (identyfikatora logowania) w usłudze Key Vault zamiast wprowadzania ich bezpośrednio do parametry połączenia profilu monitorowania.

Podczas konfigurowania profilu na potrzeby monitorowania SQL potrzebne będą jedno z następujących uprawnień do zasobu usługi Key Vault, którego zamierzasz użyć:

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

Jeśli masz te uprawnienia, nowe zasady dostępu usługi Key Vault zostaną automatycznie utworzone w ramach tworzenia profilu monitorowania SQL, który używa określonego magazynu kluczy.

Ważne

Należy upewnić się, że konfiguracja sieci i zabezpieczeń umożliwia maszynie wirtualnej monitorowania dostęp do usługi Key Vault. Aby uzyskać więcej informacji, zobacz Access Azure Key Vault behind a firewall (Uzyskiwanie dostępu do usługi Azure Key Vault za zaporą ) i Configure Azure Key Vault networking settings (Konfigurowanie ustawień sieci usługi Azure Key Vault).

Tworzenie profilu monitorowania SQL

Otwórz usługę SQL Insights (wersja zapoznawcza), wybierając pozycję SQL (wersja zapoznawcza) w sekcji Szczegółowe informacje w menu usługi Azure Monitor w witrynie Azure Portal. Wybierz pozycję Utwórz nowy profil.

Zrzut ekranu przedstawiający stronę usługi Azure Monitor w witrynie Azure Portal. Przycisk Utwórz nowy profil został wyróżniony.

Profil będzie przechowywać informacje, które mają być zbierane z systemów SQL. Ma określone ustawienia dla:

  • Azure SQL Database
  • Wystąpienie zarządzane Azure SQL
  • Program SQL Server na maszynach wirtualnych platformy Azure

Możesz na przykład utworzyć jeden profil o nazwie SQL Production i inny o nazwie SQL Staging z różnymi ustawieniami częstotliwości zbierania danych, zbierania danych i obszaru roboczego do wysłania danych.

Profil jest przechowywany jako zasób reguły zbierania danych w wybranej subskrypcji i grupie zasobów. Każdy profil wymaga następujących elementów:

  • Name. Nie można edytować po utworzeniu.
  • Lokalizacja. Jest to region świadczenia usługi Azure.
  • Obszar roboczy usługi Log Analytics do przechowywania danych monitorowania.
  • Ustawienia kolekcji dotyczące częstotliwości i typu danych monitorowania sql do zebrania.

Uwaga

Lokalizacja profilu powinna znajdować się w tej samej lokalizacji co obszar roboczy usługi Log Analytics, do którego planujesz wysłać dane monitorowania.

Zrzut ekranu przedstawiający stronę Tworzenie nowego profilu w witrynie Azure Portal.

Po wprowadzeniu szczegółów profilu monitorowania wybierz pozycję Utwórz profil monitorowania . Wdrożenie profilu może potrwać do minuty. Jeśli nie widzisz nowego profilu na liście w polu kombi Monitorowanie profilu , wybierz przycisk odświeżania i powinien pojawić się po zakończeniu wdrażania. Po wybraniu nowego profilu wybierz kartę Zarządzanie profilem , aby dodać maszynę monitorowania, która zostanie skojarzona z profilem.

Dodawanie maszyny monitorowania

Wybierz pozycję Dodaj maszynę monitorowania, aby otworzyć panel kontekstowy, aby wybrać maszynę wirtualnąAdd monitoring virtual machine, z której mają być monitorowane wystąpienia SQL, i udostępnić parametry połączenia.

Wybierz subskrypcję i nazwę maszyny wirtualnej monitorowania. Jeśli używasz usługi Key Vault do przechowywania haseł dla identyfikatorów logowania monitorowania (zdecydowanie zalecane), wybierz subskrypcję tej usługi Key Vault w obszarze Key vault subscriptions, a następnie wybierz usługę Key Vault, która przechowuje wpisy tajne w obszarze KeyVault. Connection strings W polu wprowadź identyfikator URI magazynu i nazwę wpisu tajnego dla każdego hasła, które ma być używane w parametry połączenia.

Jeśli na przykład identyfikator URI usługi Key Vault to https://mykeyvault.vault.azure.net/, a nazwy wpisów tajnych to sqlPassword1 , sqlPassword2kod JSON w Connection strings polu będzie zawierać następujące elementy:

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

Teraz możesz odwoływać się do tych wpisów tajnych dalej w Connection strings polu. W poniższym przykładzie dwa parametry połączenia odwołują się do telegrafPassword1 zdefiniowanych wcześniej wpisów tajnych i telegrafPassword2 :

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

Zrzut ekranu przedstawiający stronę Dodawanie maszyny wirtualnej monitorowania w witrynie Azure Portal. Wybierz maszynę wirtualną, określ adres URL KV (jeśli jest używany) i nazwę wpisu tajnego. Wprowadź parametry połączenia dla każdego systemu do monitorowania. Wybierz klucz KV, w którym utworzono wpis tajny używany w parametry połączenia.

Aby uzyskać szczegółowe informacje na temat identyfikowania parametry połączenia dla różnych wdrożeń SQL, zobacz następną sekcję.

Dodawanie parametry połączenia

Parametry połączenia określa nazwę logowania, która powinna być używana przez usługę SQL Insights (wersja zapoznawcza) podczas logowania się do usługi SQL w celu zbierania danych monitorowania. Jeśli używasz usługi Key Vault do przechowywania hasła użytkownika monitorowania, podaj identyfikator URI usługi Key Vault i nazwę wpisu tajnego zawierającego hasło.

Parametry połączeń różnią się w zależności od typu zasobu SQL:

Połączenia TCP z maszyny monitorowania z adresem IP i portem używanym przez bazę danych muszą być dozwolone przez zapory lub sieciowe grupy zabezpieczeń, które mogą istnieć na ścieżce sieciowej. Aby uzyskać szczegółowe informacje na temat adresów IP i portów, zobacz Architektura łączności usługi Azure SQL Database.

Wprowadź parametry połączenia w formularzu:

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

Pobierz szczegóły ze strony Parametry połączenia i odpowiedni punkt końcowy ADO.NET dla bazy danych.

Aby monitorować pomocniczą możliwość odczytu, dołącz ;ApplicationIntent=ReadOnly do parametry połączenia. Usługa SQL Insights obsługuje monitorowanie pojedynczego pomocniczego elementu pomocniczego. Zebrane dane zostaną otagowane w celu odzwierciedlenia podstawowego lub pomocniczego.