Überwachen von Azure SQL-Datenbank mit Metriken und Warnungen

Gilt für: Azure SQL-Datenbank

Sie können Azure Monitor-Metriken verwenden, um den Ressourcenverbrauch und die Integrität von Datenbanken und elastischen Poolressourcen zu überwachen. Sie können Warnungen verwenden, um Benachrichtigungen zu senden, wenn Metrikwerte auf ein potenzielles Problem hinweisen.

Metriken

Eine Metrik ist eine Reihe numerischer Werte, die in regelmäßigen Zeitintervallen gemessen werden, häufig mit Einheiten wie count, percent, bytes usw. Abhängig von der Art der Metrik können Sie Aggregationen wie total, count, average, minimum und maximum verwenden, um Metrikwerte über eine gewisse Zeit zu berechnen. Sie können einige Metriken nach Dimensionen aufteilen. Jede Dimension stellt einen zusätzlichen Kontext für die numerischen Werte bereit.

Beispiele für verfügbare Azure SQL-Datenbank Metriken sind: CPU percentage, Data space used, Deadlocks und Tempdb Percent Log Used.

Sehen Sie sich Datenbankmetriken und elastische Pool-Metriken für alle verfügbaren Metriken in Azure SQL-Datenbank an.

Hinweis

Einige Metriken gelten nur für bestimmte Arten von Datenbanken oder elastischen Pools. Die Beschreibung jeder Metrik erwähnt, wenn sie auf eine bestimmte Datenbank oder einen flexiblen Pooltyp beschränkt ist, z. B. virtuelle Kerne, Hyperscale, serverlos usw.

Im Azure SQL-Datenbank-Portal werden mehrere häufig verwendete Metriken auf der Registerkarte Überwachung auf der Seite Übersicht dargestellt. Mit den Metriken können Sie den Ressourcenverbrauch und die Integrität einer Datenbank oder eines elastischen Pools auf einen Blick bewerten.

Screenshot eines Metrikdiagramms im Azure-Portal in der Übersicht für Azure SQL-Datenbank.

Wählen Sie unter Schlüsselmetriken die Option Alle Metriken anzeigen oder eine beliebige Stelle im Diagramm aus, um den Metrik-Explorer zu öffnen. Auf der Seite Metriken können Sie alle anderen verfügbaren Metriken für die Datenbank- oder elastische Poolressource einsehen. Im Metrik-Explorer können Sie den Zeitraum, die Granularität und den Aggregationstyp für das Diagramm ändern, den Diagrammtyp ändern, den Bereich erweitern, um Metriken aus anderen Azure-Ressourcen einzuschließen, Warnungsregeln zu erstellen usw. Sie können den Metrik-Explorer auch durch Auswählen des Menüelements Metriken unter Überwachung im Ressourcenmenü öffnen.

Verwenden von Metriken zum Überwachen von Datenbanken und elastischen Pools

Sie können Metriken verwenden, um den Ressourcenverbrauch und die Integrität der Datenbank und des elastischen Pools zu überwachen. Sie können zum Beispiel Folgendes:

  • Wählen Sie die richtige Größe der Datenbank oder des elastischen Pools für Ihre Anwendungsworkloads
  • Erkennen eines graduellen Anstiegs des Ressourcenverbrauchs und proaktives Skalieren der Datenbank oder des elastischen Pools
  • Erkennen und Behandeln von Leistungsproblemen

In der folgenden Tabelle werden häufig verwendete Metriken in Azure SQL-Datenbank beschrieben.

Metrikname Metrik-ID Beschreibung
CPU-Prozentsatz cpu_percent Diese Metrik zeigt den CPU-Verbrauch gegenüber dem Grenzwert der Benutzerauslastung einer Datenbank oder eines elastischen Pools an, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter Ressourcenverbrauch durch Benutzerworkloads und interne Prozesse.
CPU-Prozentsatz der SQL-Instanz sql_instance_cpu_percent Diese Metrik zeigt den gesamten CPU-Verbrauch der Benutzer- und Systemworkloads an, ausgedrückt als Prozentsatz. Da diese Metrik und die CPU-Prozentmetrik auf unterschiedlichen Skalierungen gemessen werden, sind sie nicht direkt miteinander vergleichbar. Weitere Informationen finden Sie unter Ressourcenverbrauch durch Benutzerworkloads und interne Prozesse.
E/A-Prozentsatz für Daten physical_data_read_percent Diese Metrik zeigt die Datendatei-E/A-Auslastung gegenüber dem Grenzwert für die Benutzerauslastung einer Datenbank oder eines elastischen Pools, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter Daten-E/A-Governance.
E/A-Prozentsatz für Protokoll log_write_percent Diese Metrik zeigt den Transaktionsprotokoll-Schreibdurchsatzverbrauch in Richtung der Benutzerauslastungsgrenze einer Datenbank oder eines elastischen Pools an, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter Transaktionsprotokoll Tarif-Governance.
Worker in Prozent workers_percent Diese Metrik zeigt den Verbrauch von Worker-Threads in Richtung der Benutzerauslastungsgrenze einer Datenbank oder eines elastischen Pools, ausgedrückt als Prozentsatz.
DTU-Prozentsatz dtu_consumption_percent Diese Metrik zeigt den DTU-Verbrauch gegenüber dem Grenzwert für die Benutzerauslastung einer Datenbank oder eines elastischen Pools, ausgedrückt als Prozentsatz. Der DTU-Prozentsatz wird von drei anderen Metriken abgeleitet: CPU-Prozentsatz, Daten-E/A-Prozent und Protokoll-E/A-Prozent. Zu jedem Zeitpunkt entspricht der DTU-Prozentsatz dem höchsten Wert dieser drei Metriken.
Verwendete CPU cpu_used Diese Metrik zeigt den CPU-Verbrauch gegenüber dem Grenzwert der Benutzerauslastung einer Datenbank oder eines elastischen Pools an, ausgedrückt als die Anzahl der virtuellen Kerne. Für weitere Informationen siehe Diagnostizieren und Behandeln von Problemen mit hoher CPU-Auslastung in Azure SQL-Datenbank.
DTU-Verbrauch dtu_used Diese Metrik zeigt die Anzahl der DTUs, die von einer Datenbank oder einem elastischen Pool verwendet werden.
Abgerechnete App-CPU app_cpu_billed Bei serverlosen Datenbanken zeigt diese Metrik die in Sekunden virtueller Kerne ausgedrückte Berechnungsmenge (CPU und Arbeitsspeicher) an. Weitere Informationen finden Sie unter Abrechnung auf der serverlosen Computeebene.
App-CPU-Prozentsatz app_cpu_percent Bei serverlosen Datenbanken zeigt diese Metrik den CPU-Verbrauch gegenüber dem maximalen Grenzwert virtueller Kerne des App-Pakets an, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter Monitoring in der serverlosen Computeebene.
App-Arbeitsspeicherprozentsatz app_memory_percent Bei serverlosen Datenbanken zeigt diese Metrik den Speicherverbrauch im Hinblick auf die maximale Speichergrenze des App-Pakets an, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter Monitoring in der serverlosen Computeebene.
Sitzungsanzahl sessions_count Diese Metrik zeigt die Anzahl der etablierten Benutzersitzungen für eine Datenbank oder einen elastischen Pool an.
Genutzter Speicherplatz storage Bei Datenbanken zeigt diese Metrik den Speicherplatz an, der in den Datendateien einer Datenbank verwendet wird.
Genutzter Speicherplatz storage_used Bei elastischen Pools zeigt diese Metrik die Menge an Speicherplatz an, der in den Datendateien aller Datenbanken in einem elastischen Pool verwendet wird.
Zugeordneter Datenspeicherplatz allocated_data_storage Diese Metrik zeigt die Menge des Speicherplatzes an, der von den Datendateien einer Datenbank oder von den Datendateien aller Datenbanken in einem elastischen Pool belegt wird. Datendateien können leeren Speicherplatz enthalten. Aus diesem Grund werden Datenplätze zugewiesen, wenn häufig höher als der für die gleiche Datenbank oder den gleichen elastischen Pool verwendete Datenraum. Weitere Informationen finden Sie unter Verwalten von Dateispeicherplatz für Datenbanken in Azure SQL-Datenbank.
Genutzter Datenspeicherplatz in Prozent storage_percent Bei Datenbanken zeigt diese Metrik die Menge an Speicherplatz an, der in den Datendateien einer Datenbank in Richtung der Datengrößesgrenze einer Datenbank verwendet wird. Bei elastischen Pools zeigt sie die Menge an Speicherplatz an, der in den Datendateien aller Datenbanken in einem elastischen Pool verwendet wird, ausgedrückt als Prozentsatz gegenüber der Datengrößesgrenze eines elastischen Pools. Der Grenzwert für die Datengröße für eine Datenbank oder einen elastischen Pool kann niedriger als die maximale Datengrößesgrenze konfiguriert werden. Informationen zum Ermitteln des maximalen Grenzwerts für die Datengröße finden Sie unter Ressourcengrenzwerte für vCore-Datenbanken, vCore-elastische Pools, DTU-Datenbanken und DTU-Elastizitätspools.
Zugeordneter Datenspeicherplatz in Prozent allocated_data_storage_percent Bei elastischen Pools zeigt diese Metrik die Menge des Speicherplatzes an, der von den Datendateien aller Datenbanken in einem elastischen Pool in Richtung der Datengrößengrenze des Pools belegt wird, ausgedrückt als Prozentsatz.
Nutzung des tempdb-Protokolls in Prozent tempdb_log_used_percent Diese Metrik zeigt den Verbrauch des Transaktionsprotokollbereichs in der tempdb-Datenbank in Richtung der maximalen Protokollgröße an, ausgedrückt als Prozentsatz. Weitere Informationen finden Sie unter tempdb in Azure SQL Database.
Erfolgreiche Verbindungen connection_successful Diese Metrik zeigt die Anzahl der erfolgreich hergestellten Verbindungen mit einer Datenbank an. Diese Metrik kann durch zwei Dimensionen aufgeteilt werden, SslProtocol und ValidatedDriverNameAndVersion, um die Anzahl der Verbindungen mithilfe einer bestimmten Verschlüsselungsprotokollversion oder mithilfe eines bestimmten Client-Treibers anzuzeigen.
Fehlgeschlagene Verbindungen: System-Fehler connection_failed Diese Metrik zeigt die Anzahl der Verbindungsversuche mit einer Datenbank an, die aufgrund interner Dienstfehler fehlgeschlagen ist. Meistens sind solche Fehler von kurzer Dauer. Diese Metrik kann durch zwei Dimensionen aufgeteilt werden, Error und ValidatedDriverNameAndVersion, um die Anzahl der fehlgeschlagenen Verbindungsversuche aufgrund eines bestimmten Fehlers oder eines bestimmten Clienttreibers anzuzeigen.
Fehlgeschlagene Verbindungen: Benutzer-Fehler connection_failed_user_error Diese Metrik zeigt die Anzahl der Verbindungsversuche mit einer Datenbank an, die aufgrund von Fehlern des Benutzers fehlgeschlagen sind, z. B. ein falsches Kennwort oder eine Verbindung, die von der Firewall blockiert wurde. Diese Metrik kann durch zwei Dimensionen aufgeteilt werden, Error und ValidatedDriverNameAndVersion, um die Anzahl der fehlgeschlagenen Verbindungsversuche aufgrund eines bestimmten Fehlers oder eines bestimmten Clienttreibers anzuzeigen.
Deadlocks deadlock Diese Metrik zeigt die Anzahl der Deadlocks in einer Datenbank an.
Verfügbarkeit availability Die Verfügbarkeit wird basierend auf der Datenbank bestimmt, die für Verbindungen betriebsbereit ist. Für jeden einminütigen Datenpunkt sind die möglichen Werte entweder 100% oder 0%. Weitere Informationen finden Sie unter Verfügbarkeitsmetrik.

Verfügbarkeitsmetrik

Die Verfügbarkeitsmetrik verfolgt die Verfügbarkeit auf einer einzelnen Azure SQL-Datenbankebene. Diese Funktion befindet sich derzeit in der Vorschau.

Die Verfügbarkeit ist präzise bis zu einer Minute des Verbindungsausfalls. Die Verfügbarkeit wird basierend auf der Datenbank bestimmt, die für Verbindungen betriebsbereit ist. Eine Minute gilt als Downtime oder nicht verfügbar, wenn alle fortlaufenden Versuche der Benutzer, eine Verbindung zur Datenbank herzustellen, innerhalb einer Minute aufgrund eines Dienstproblems fehlschlagen. Wenn die Verfügbarkeit zeitweilig nicht gegeben ist, muss die Dauer der kontinuierlichen Nichtverfügbarkeit die Minutengrenze überschreiten, um als Downtime betrachtet zu werden. In der Regel beträgt die Latenz zur Anzeige der Verfügbarkeit weniger als drei Minuten.

Dies ist die Logik, die für die Berechnung der Verfügbarkeit für jedes Intervall mit einer Minute verwendet wird:

  • Wenn mindestens eine erfolgreiche Verbindung besteht, beträgt die Verfügbarkeit 100 %.
  • Wenn alle Verbindungen aufgrund von Benutzerfehlern fehlschlagen, beträgt die Verfügbarkeit 100 %.
  • Wenn keine Verbindungsversuche vorhanden sind, beträgt die Verfügbarkeit 100 %.
  • Wenn alle Verbindungen aufgrund von Systemfehlern fehlschlagen, beträgt die Verfügbarkeit 0 %.
  • Derzeit werden die Verfügbarkeitsmetrikdaten für die serverlose Computeebene noch nicht unterstützt und als 100 % angezeigt.

Die Verfügbarkeitsmetrik ist daher eine zusammengesetzte Metrik, die aus den folgenden vorhandenen Metriken abgeleitet wird:

  • Erfolgreiche Verbindungen
  • Fehlgeschlagene Verbindungen: Benutzer-Fehler
  • Von der Firewall blockiert
  • Fehlgeschlagene Verbindungen: System-Fehler

Benutzerfehler umfassen alle Verbindungen, die aufgrund von Benutzerkonfiguration, Workload oder Verwaltung fehlschlagen. Systemfehler umfassen alle Verbindungen, die aufgrund vorübergehender Probleme im Zusammenhang mit dem Azure SQL-Datenbankdienst fehlschlagen.

Alerts

Sie können Warnungsregeln erstellen, damit Sie darüber informiert werden, dass der Wert einer Metrik oder mehrerer Metriken außerhalb eines erwarteten Bereichs liegt.

Sie können den Umfang einer Warnungsregel auf mehrere Arten entsprechend Ihren Anforderungen festlegen. Beispielsweise kann der Bereich für Warnungsregel auf Folgendes festgelegt werden:

  • Eine Einzeldatenbank
  • Ein elastischer Poo
  • Alle Datenbanken oder elastischen Pools in einer Ressourcengruppe
  • Alle Datenbanken oder elastischen Pools in einem Abonnement innerhalb einer Azure-Region
  • Alle Datenbanken oder elastischen Pools in einem Abonnement in allen Regionen

Warnungsregeln bewerten regelmäßig aggregierte Metrikwerte über eine Nachschlageperiode und vergleichen sie mit einem Schwellenwert. Sie können den Schwellenwert, die Auswertungshäufigkeit und den Nachschlagezeitraum konfigurieren.

Wenn eine Warnungsregel ausgelöst wird, werden Sie gemäß Ihren Benachrichtigungseinstellungen benachrichtigt, die Sie in der Aktionsgruppe angeben, die mit der Warnungsregel verknüpft ist. Sie können z. B. eine E-Mail, eine SMS oder eine Sprachbenachrichtigung erhalten. Eine Warnungsregel kann auch Aktionen wie Webhooks, Automatisierungsrunbooks, Funktionen, Logik-Apps usw. auslösen. Sie können Warnungen in unterstützte IT-Dienstverwaltungsprodukte integrieren .

Weitere Informationen zu Azure Monitor-Warnungen finden sie unter Azure Monitor-Warnungsübersicht. Um sich mit metrischen Warnungen vertraut zu machen, lesen Sie Metrische Warnungen, Verwalten von Warnungsregeln und Aktionsgruppen.

Die Metriken und die optimalen Schwellenwerte für die Verwendung in Warnungsregeln variieren im breiten Spektrum der Kundenworkloads in Azure SQL-Datenbank.

Die empfohlenen Warnungen in der folgenden Tabelle sind ein Ausgangspunkt, mit dem Sie die optimale Warnungskonfiguration für Ihre Azure SQL-Datenbank-Ressourcen definieren können. Je nach Ihren Anforderungen kann sich Ihre Konfiguration von diesem Beispiel unterscheiden. Sie können unterschiedliche Schwellenwerte, Auswertungsfrequenzen oder Nachschlageperioden verwenden. Sie können zusätzliche Warnungen erstellen oder unterschiedliche Konfigurationen für Warnungsregelen für verschiedene Anwendungen und Umgebungen verwenden.

Hier sind Beispiele für typische Warnungsregelkonfigurationen.

Name der Warnungsregel Metrik (Signal) Warnungslogik Zeitpunkt der Auswertung Vorgeschlagener Schweregrad
Hohe Benutzer-CPU-Auslastung CPU-Prozentsatz Schwellenwert: Static
Aggregation: Average
Operator: Greater than
Schwellenwert: 90
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 10 minutes
2: Warnung
Hohe CPU-Auslastung insgesamt CPU-Prozentsatz der SQL-Instanz Schwellenwert: Static
Aggregation: Average
Operator: Greater than
Schwellenwert: 90
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 10 minutes
2: Warnung
Hohe Worker-Auslastung Worker in Prozent Schwellenwert: Static
Aggregation: Minimum
Operator: Greater than
Schwellenwert: 60
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 5 minutes
1: Fehler
Hoher E/A-Datenverbrauch E/A-Prozentsatz für Daten Schwellenwert: Static
Aggregation: Average
Operator: Greater than
Schwellenwert: 90
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 15 minutes
3: Informativ
Geringer Datenraum Genutzter Datenspeicherplatz in Prozent Schwellenwert: Static
Aggregation: Minimum
Operator: Greater than
Schwellenwert: 95
Überprüfen Sie alle: 15 minute
Nachschlageperiode: 15 minutes
1: Fehler
Geringer tempdb-Protokollraum Nutzung des tempdb-Protokolls in Prozent Schwellenwert: Static
Aggregation: Minimum
Operator: Greater than
Schwellenwert: 60
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 5 minutes
1: Fehler
Deadlocks Deadlocks Schwellenwert: Dynamic
Aggregation: Total
Operator: Greater than
Schwellenwertempfindlichkeit: Medium
Überprüfen Sie alle: 15 minutes
Nachschlageperiode: 1 hour
3: Informativ
Fehlgeschlagene Verbindungen (Benutzer-Fehler) Fehlgeschlagene Verbindungen: Benutzer-Fehler Schwellenwert: Dynamic
Aggregation: Total
Operator: Greater than
Schwellenwertempfindlichkeit: Medium
Überprüfen Sie alle: 5 minutes
Nachschlageperiode: 15 minutes
2: Warnung
Fehlgeschlagene Verbindungen (System-Fehler) Fehlgeschlagene Verbindungen: System-Fehler Schwellenwert: Static
Aggregation: Total
Operator: Greater than
Einheit: Count
Schwellenwert: 10
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 5 minutes
2: Warnung
Anomale Verbindungsrate Erfolgreiche Verbindungen Schwellenwert: Dynamic
Aggregation: Total
Operator: Greater or Less than
Schwellenwertempfindlichkeit: Low
Überprüfen Sie alle: 5 minutes
Nachschlageperiode: 15 minutes
2: Warnung

Einige der empfohlenen Warnungsregeln verwenden dynamische Schwellenwerte, um anomale Metrikmuster zu erkennen, die möglicherweise Aufmerksamkeit erfordern. Warnungsregeln, die auf dynamischen Schwellenwerten basieren, werden erst ausgelöst, wenn ausreichende historische Daten gesammelt wurden, um normale Muster festzulegen. Für weitere Informationen siehe Dynamische Schwellenwerte in Metrikwarnungen.

Metrikwarnungen sind standardmäßig zustandsbehaftet. Dies bedeutet, dass die Warnung nur einmal ausgelöst wird, sobald eine Warnungsregel ausgelöst wird. Die Warnung wird in dem fired-Zustand erneut Standard, bis sie aufgelöst wird. Zu diesem Zeitpunkt wird eine resolved Benachrichtigung gesendet. Eine Warnungsregel löst eine neue Warnung nur aus, wenn die vorherige Warnung aufgelöst wurde. Zustandsbehaftete Warnungen vermeiden häufige Benachrichtigungen über einen fortlaufenden Zustand. Weitere Informationen zu zustands- und zustandslosen Warnungen finden Sie unter Warnungen und Zustand.