Tutorial: Schreiben einer gültigen Abfrage für das Onboarding von Metrikdaten

Wichtig

Ab dem 20. September 2023 können Sie keine neuen Metrics Advisor-Ressourcen mehr erstellen. Der Metrics Advisor-Dienst wird am 1. Oktober 2026 eingestellt.

In diesem Tutorial lernen Sie Folgendes:

  • Wie Sie eine gültige Abfrage für das Daten-Onboarding verfassen
  • Häufige Fehler und deren Vermeidung

Voraussetzungen

Erstellen einer Metrics Advisor-Ressource

Hinweise zum Erstellen einer Metrics Advisor-Ressource finden Sie unter . Erstellen Sie eine Metrics Advisor-Ressource in Azure-Portal, um Ihre Metrics Advisor-Instanz bereitzustellen.

Datenschemaanforderungen

Azure KI Metrics Advisor ist ein Dienst für die Anomalieerkennung in Zeitreihen sowie für die Diagnose und Analyse von Zeitreihen. Da es sich hierbei um einen KI-gestützten Dienst handelt, wird das verwendete Modell mit Ihren Daten trainiert. Der Dienst akzeptiert Tabellen mit aggregierten Daten und folgenden Spalten:

  • Measure (erforderlich): Ein Measure ist ein grundlegender bzw. einheitenspezifischer Ausdruck und ein quantifizierbarer Wert der Metrik. Er bezeichnet eine oder mehrere Spalte(n) mit numerischen Werten.
  • Zeitstempel (optional): Maximal eine Spalte vom Typ DateTime oder String. Wird diese Spalte nicht festgelegt, wird der Zeitstempel als Startzeit des jeweiligen Erfassungszeitraums festgelegt. Formatieren Sie den Zeitstempel wie folgt: yyyy-MM-ddTHH:mm:ssZ.
  • Dimension (optional): Eine Dimension umfasst einen oder mehrere Kategoriewerte. Die Kombination dieser Werte identifiziert eine bestimmte univariate Zeitreihe (z. B. Land/Region, Sprache und Mandant). Die Dimensionsspalten können einen beliebigen Datentyp aufweisen. Achten Sie bei Verwendung großer Mengen von Spalten und Werten darauf, dass nicht übermäßig viele Dimensionen verarbeitet werden.

Wenn Sie Datenquellen wie Azure Data Lake Storage oder Azure Blob Storage verwenden, können Sie Ihre Daten entsprechend dem erwarteten Metrikschema aggregieren. Der Grund dafür ist, dass diese Datenquellen eine Datei als Metrikeingabe verwenden.

Wenn Sie Datenquellen wie Azure SQL oder Azure Data Explorer verwenden, können Sie Aggregationsfunktionen verwenden, um Daten in Ihrem erwarteten Schema zu aggregieren. Der Grund dafür ist, dass diese Datenquellen das Ausführen einer Abfrage zum Abrufen von Metrikdaten aus Quellen unterstützen.

Wie funktioniert die Datenerfassung in Metrics Advisor?

Beim Onboarding Ihrer Metriken für Metrics Advisor gibt es im Allgemeinen zwei Möglichkeiten:

  • Aggregieren Sie Ihre Metriken vorab in das erwartete Schema und speichern Sie die Daten in bestimmten Dateien. Füllen Sie die Pfadvorlage während des Onboardings aus, und Metrics Advisor wird kontinuierlich neue Dateien aus dem Pfad erfassen und die Metriken erkennen. Dies ist eine gängige Vorgehensweise für eine Datenquelle wie Azure Data Lake und Azure Blob Storage.
  • Wenn Sie Daten aus Datenquellen wie Azure SQL Server, Azure Data Explorer oder anderen Quellen erfassen, die die Verwendung eines Abfrageskripts unterstützen, müssen Sie sicherstellen, dass Sie Ihre Abfrage ordnungsgemäß erstellen. In diesem Artikel erfahren Sie, wie Sie eine gültige Abfrage schreiben, um Metrikdaten wie erwartet zu integrieren.

Was ist ein Intervall?

Metriken müssen gemäß den Geschäftsanforderungen mit einer bestimmten Granularität überwacht werden. Beispielsweise werden KPIs (Business Key Performance Indicators) mit täglicher Granularität überwacht. Dienstmetriken werden jedoch häufig minütlich/stündlich überwacht. Daher unterscheidet sich die Häufigkeit zum Erfassen von Metrikdaten aus bestimmten Quellen.

Metrics Advisor ruft in jedem Zeitintervall kontinuierlich Metrikdaten ab, und das Intervall entspricht dabei der Granularität der Metriken. Jedes Mal, wenn Metrics Advisor die Abfrage ausführt, die Sie geschrieben haben, werden Daten in diesem bestimmten Intervall erfasst. Basierend auf diesem Datenerfassungsmechanismus sollte das Abfrageskript nicht alle Metrikdaten zurückgeben, die in der Datenbank vorhanden sind, sondern muss das Ergebnis auf ein einzelnes Intervall beschränken.

Illustration that describes what is an interval

Wie verfasse ich eine gültige Abfrage?

Use @IntervalStart and @IntervalEnd to limit query results

Um dies zu erreichen, wurden zwei Parameter bereitgestellt, die in der Abfrage verwendet werden können: @IntervalStart und @IntervalEnd.

Jedes Mal, wenn die Abfrage ausgeführt wird, werden @IntervalStart und @IntervalEnd automatisch auf den Zeitstempel des letzten Intervalls aktualisiert und erhalten entsprechende Metrikdaten. @IntervalEnd wird immer als @IntervalStart + 1 Granularität zugewiesen.

Hier sehen Sie ein Beispiel für die ordnungsgemäße Verwendung dieser beiden Parameter mit Azure SQL Server:

SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;

Wenn Sie das Abfrageskript auf diese Weise schreiben, sollten die Zeitstempel der Metriken für jedes Abfrageergebnis im selben Intervall liegen. Metrics Advisor wird die Zeitstempel automatisch an der Granularität der Metriken ausrichten.

Verwenden von Aggregationsfunktionen zum Aggregieren von Metriken

Es kommt häufig vor, dass es innerhalb der Datenquellen von Kunden viele Spalten gibt; es ist allerdings nicht immer sinnvoll, alle von diesen zu überwachen oder als Dimension einzuschließen. Kunden können Aggregationsfunktionen verwenden, um Metriken zu aggregieren und ausschließlich aussagekräftige Spalten als Dimensionen zu nutzen.

Im Folgenden finden Sie ein Beispiel, in dem mehr als 10 Spalten in der Datenquelle eines Kunden vorhanden sind. Es ist sinnvoll nur einige davon zu aggregieren und in eine Metrik zu bringen, um diese zu überwachen.

TS Market Device OS Category ... Measure1 Measure2 Measure3
2020-09-18T12:23:22Z New York iOS Sonnenbrille ... 43242 322 54546
2020-09-18T12:27:34Z Beijing (Peking) Android Taschen ... 3.333 126 67677
...

Wenn der Kunde „Measure1“stündlich überwachen und als Dimensionen „Markt“ und „Kategorie“ auswählen möchte, finden Sie unten Beispiele dafür, wie die Aggregationsfunktionen ordnungsgemäß verwendet werden können, um dies zu erreichen:

  • SQL-Beispiel:

        SELECT dateadd(hour, datediff(hour, 0, TS),0) as NewTS
        ,Market
        ,Category
        ,sum(Measure1) as M1
        FROM [dbo].[SampleTable] where TS >= @IntervalStart and TS < @IntervalEnd
        group by Market, Category, dateadd(hour, datediff(hour, 0, TS),0)
    
  • Azure Data Explorer-Beispiel:

        SampleTable
        | where TS >= @IntervalStart and TS < @IntervalEnd
        | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
    

Hinweis

Im obigen Fall möchte der Kunde Metriken stündlich überwachen, aber der unformatierte Zeitstempel (ZS) ist nicht definiert. Innerhalb der Aggregationsanweisung ist ein Prozess für den Zeitstempel erforderlich, um sich auf die Stunde auszurichten und eine neue Zeitstempelspalte mit dem Namen „NeuerZS“ zu generieren.

Häufige Fehler beim Onboarding

  • Fehler: Mehrere Zeitstempelwerte werden in Abfrageergebnissen gefunden.

    Dies ist ein häufiger Fehler, wenn Sie die Abfrageergebnisse nicht innerhalb eines Intervalls eingeschränkt haben. Wenn Sie beispielsweise eine Metrik mit einer täglichen Granularität überwachen, erhalten Sie diesen Fehler, wenn Ihre Abfrage Ergebnisse wie folgt zurückgibt:

    Screenshot that shows multiple timestamp values returned

    Es gibt mehrere Zeitstempelwerte, die sich nicht im selben Metrikintervall (ein Tag) befinden. Lesen Sie den Abschnitt Wie funktioniert die Datenerfassung in Metrics Advisor?, um zu verstehen, dass Metrics Advisor Metrikdaten in jedem Metrikintervall abruft. Stellen Sie dann sicher, dass Sie in Ihrer Abfrage @IntervalStart und @IntervalEnd verwenden, um die Ergebnisse innerhalb eines Intervalls einzuschränken. Ausführliche Anleitungen und Beispiele finden Sie Use @IntervalStart and @IntervalEnd to limit query results hier.

  • Fehler: Doppelte Metrikwerte werden in derselben Dimensionskombination innerhalb eines Metrikintervalls gefunden.

    Innerhalb eines Intervalls erwartet Metrics Advisor nur einen Metrikwert für die gleichen Dimensionskombinationen. Wenn Sie beispielsweise eine Metrik mit einer täglichen Granularität überwachen, erhalten Sie diesen Fehler, wenn Ihre Abfrage Ergebnisse wie folgt zurückgibt:

    Screenshot that shows duplicate values returned

    Ausführliche Anleitungen und Beispiele finden Sie unter Verwenden von Aggregationsfunktionen zum Aggregieren von Metriken.

Nächste Schritte

Fahren Sie mit dem nächsten Artikel fort, um mehr über das Erstellen zu erfahren.