Freigeben über


Ü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 Pools zu überwachen. Sie können Alerts verwenden, um Benachrichtigungen zu senden, wenn Metriken 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.

Überprüfen Sie die Datenbankmetriken und die elastischen Poolmetriken für alle verfügbaren Metriken in Azure SQL Database.

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-Datenbankportal 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 des Azure-Portals eines Metrikdiagramms, das auf der Azure SQL-Datenbankübersichtsseite angezeigt wird.

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 anzeigen. 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 auch den Metrik-Explorer öffnen, indem Sie das Menüelement " Metriken " unter "Überwachung " im Ressourcenmenü auswählen.

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 nach Benutzerarbeitslasten und internen Prozessen.
CPU-Prozent 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 nach Benutzerarbeitslasten und internen Prozessen.
Daten-E/A in Prozent 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 Data IO Governance.
Protokoll-E/A in Prozent 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 Transaktionsprotokollratengovernance.
Prozentsatz der Arbeitnehmer workers_percent Diese Metrik zeigt den Verbrauch von Arbeitsthreads für die Benutzerworkloadgrenze 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-Prozentsatz und Protokoll-E/A-Prozentsatz. Zu jedem Zeitpunkt entspricht der DTU-Prozentsatz dem höchsten Wert dieser drei Metriken.
CPU-Verbrauch 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. Weitere Informationen finden Sie unter Diagnose und Problembehandlung für hohe CPU 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.
In Rechnung gestellte 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.
Prozentsatz der App-CPU 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.
Prozentsatz des App-Speichers 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.
Anzahl der Sitzungen sessions_count Diese Metrik zeigt die Anzahl der etablierten Benutzersitzungen für eine Datenbank oder einen elastischen Pool an.
Verwendeter Datenbereich storage Bei Datenbanken zeigt diese Metrik den Speicherplatz an, der in den Datendateien einer Datenbank verwendet wird.
Verwendeter Datenbereich 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.
Zugewiesener Datenbereich 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 ist der zugewiesene Speicherplatz oft höher als der verwendete Speicherplatz für dieselbe Datenbank oder denselben elastischen Pool. Weitere Informationen finden Sie unter Verwalten des Dateibereichs für Datenbanken in der Azure SQL-Datenbank.
Verwendeter Datenbereich 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.
Prozentsatz des zugewiesenen Datenbereichs 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 der Azure SQL-Datenbank.
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: Systemfehler 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: Benutzerfehler 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 in der Verfügbarkeitsmetrik.

Verfügbarkeitsmetrik

Die Verfügbarkeitsmetrik verfolgt die Verfügbarkeit auf einer einzelnen Azure SQL-Datenbankebene.

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 nicht unterstützt und zeigen 100%an.

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

  • Erfolgreiche Verbindungen
  • Fehlgeschlagene Verbindungen: Benutzerfehler
  • Blockiert durch Firewall
  • Fehlgeschlagene Verbindungen: Systemfehler

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.

Alarmsignale

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 in der Übersicht über Azure Monitor-Warnungen. Um sich mit metrischen Warnungen vertraut zu machen, überprüfen 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-Prozent 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 Prozentsatz der Arbeitnehmer Schwellenwert: Static
Aggregation: Minimum
Operator: Greater than
Schwellenwert: 60
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 5 minutes
1: Fehler
Hoher E/A-Datenverbrauch Daten-I/O-Prozent Schwellenwert: Static
Aggregation: Average
Operator: Greater than
Schwellenwert: 90
Überprüfen Sie alle: 1 minute
Nachschlageperiode: 15 minutes
3: Informativ
Geringer Datenraum Verwendeter Datenbereich 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: Benutzerfehler 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: Systemfehler 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. Weitere Informationen finden Sie unter 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 zustandsbehafteten und zustandslosen Warnungen finden Sie unter Warnungen und Zustand.