Überwachen einer Azure KI-Suche-Lösung

Abgeschlossen

Azure Monitor kann Ihnen Einblicke geben, wie gut Ihr Suchdienst verwendet wird und funktioniert. Sie können auch Warnungen erhalten, die Sie proaktiv über Probleme informieren.

Hier lernen Sie alle für Azure KI-Suche verfügbaren Überwachungsoptionen kennen. Dann erfahren Sie mehr über nützliche Warnungen, die Sie zum Verwalten Ihrer Suchlösung erstellen können.

Überwachen von Azure KI-Suche in Azure Monitor

Wenn Sie Ihren auf Azure KI-Suche basierenden Dienst ohne weitere Setups erstellen, können Sie Ihre aktuelle Suchlatenz, Abfragen pro Sekunde und den Prozentsatz der gedrosselten Abfragen anzeigen. Diese Daten können auf der Registerkarte Überwachung auf der Seite Übersicht angezeigt werden.

A screenshot of the monitor tab in Azure AI Search.

Auf der Registerkarte Verwendung können Sie auch überprüfen, welche Ressourcen Ihre Suchlösung nutzt.

A screenshot of the usage tab on the overview page of Azure AI Search service.

Diese grundlegenden Informationen sind ein guter Anfang für das Überwachen, doch Sie können mit mehr Konfiguration einen Schritt weiter gehen. Wenn Sie mit dem Unterstützen anderer Ressourcen auf der Azure-Plattform vertraut sind, wissen Sie, dass Azure Monitor für alle Ihre Azure-Ressourcen verwendet werden kann.

Sie haben bereits in der Lerneinheit Leistung optimieren gesehen, wie Sie Azure Monitor aktivieren. Führen Sie diese Schritte aus, damit Azure Monitor Daten verwenden kann, die in Log Analytics erfasst wurden, um vollständige Diagnosedaten anzuzeigen.

Nachdem Sie mit dem Verwenden von Log Analytics begonnen haben, erhalten Sie Zugriff auf Leistungs- und Diagnosedaten in diesen Protokolltabellen:

  • AzureActivity: Zeigt Ihnen ausgeführte Aufgaben an, z. B. das Skalieren des Suchdiensts
  • AzureDiagnostics: Alle Abfrage- und Indizierungsvorgänge
  • AzureMetrics: Für Metriken verwendete Daten, die die Integrität und Leistung Ihres Suchdiensts messen

Verwenden von Metriken zum visuellen Darstellen von Diagnosedaten

Das Erstellen von Diagrammen ist eine gute Möglichkeit, die Leistung Ihres Suchdiensts darzustellen. Wählen Sie im Abschnitt Überwachung Ihres Suchdiensts Metriken aus.

A screenshot of the metrics page.

Wählen Sie dann aus, welche dieser erfassten Metriken Sie hinzufügen möchten:

  • DocumentsProcessedCount
  • SearchLatency
  • SearchQueriesPerSecond
  • SkillExecutionCount
  • ThrottledSearchQueriesPercentage

Beispielsweise könnten Sie die Suchlatenz und den Prozentsatz gedrosselter Abfragen darstellen, um zu ermitteln, ob die Antworten auf Abfragen durch die Drosselung beeinflusst werden.

Schreiben von Kusto-Abfragen für Ihre Suchlösungsprotokolle

Log Analytics ermöglicht es Ihnen, jede Kusto-Abfrage für erfasste Protokolldaten zu schreiben. Am einfachsten können Sie diese Abfragen ausführen, indem Sie Protokolle im Abschnitt „Überwachen“ auswählen. Protokolle öffnen Log Analytics, wobei das Auftragsfenster automatisch auf Ihre Azure KI-Suche-Lösung festgelegt ist.

A screenshot of a Log Analytics Kusto query against the AzureDiagnostic table.

Mit der obigen Abfrage können Sie eine Liste der zuletzt verwendeten Vorgänge anzeigen und wie oft sie aufgetreten sind.

AzureDiagnostics
| summarize count() by OperationName

Im Folgenden finden Sie nützliche Abfragen, mit denen Sie Ihre Suchlösung überwachen und Probleme damit diagnostizieren können:

Abfrage

Kusto


Abfragen mit langer Ausführungszeit

AzureDiagnostics
| project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s
| where OperationName == "Query.Search"
| sort by DurationMs

Indexerstatus

AzureDiagnostics
| project OperationName, Description_s, Documents_d, ResultType, resultSignature_d
| where OperationName == "Indexers.Status"

HTTP-Statuscodes

AzureDiagnostics
| where TimeGenerated > ago(7d)
| summarize count() by resultSignature_d
| render barchart

Abfrageraten

AzureDiagnostics
| where OperationName == "Query.Search" and TimeGenerated > ago(1d)
| extend MinuteOfDay = substring(TimeGenerated, 0, 16) 
| project MinuteOfDay, DurationMs, Documents_d, IndexName_s
| summarize QPM=count(), AvgDuractionMs=avg(DurationMs), AvgDocCountReturned=avg(Documents_d)  by MinuteOfDay
| order by MinuteOfDay desc 
| render timechart

Durchschnittliche Abfragelatenz

let intervalsize = 1m; 
let _startTime = datetime('2021-02-23 17:40');
let _endTime = datetime('2021-02-23 18:00');
AzureDiagnostics
| where TimeGenerated between(['_startTime']..['_endTime']) // Time range filtering
| summarize AverageQueryLatency = avgif(DurationMs, OperationName in ("Query.Search", "Query.Suggest", "Query.Lookup", "Query.Autocomplete"))
by bin(TimeGenerated, intervalsize)
| render timechart

Durchschnittliche Abfragen pro Minute (QPM)

let intervalsize = 1m; 
let _startTime = datetime('2021-02-23 17:40');
let _endTime = datetime('2021-02-23 18:00');
AzureDiagnostics
| where TimeGenerated between(['_startTime'] .. ['_endTime']) // Time range filtering
| summarize QueriesPerMinute=bin(countif(OperationName in ("Query.Search", "Query.Suggest", "Query.Lookup", "Query.Autocomplete"))/(intervalsize/1m), 0.01)
by bin(TimeGenerated, intervalsize)
| render timechart

Indizierungsvorgänge pro Minute (OPM)

let intervalsize = 1m; 
let _startTime = datetime('2021-02-23 17:40');
let _endTime = datetime('2021-02-23 18:00');
AzureDiagnostics
| where TimeGenerated between(['_startTime'] .. ['_endTime']) // Time range filtering
| summarize IndexingOperationsPerSecond=bin(countif(OperationName == "Indexing.Index")/ (intervalsize/1m), 0.01)
by bin(TimeGenerated, intervalsize)
| render timechart

Erstellen von Warnungen zum Benachrichtigen über häufige Suchlösungsprobleme

Mit Warnungen können Sie Ihren Suchdienst proaktiv verwalten. Hier finden Sie einige häufig verwendete Warnungen, die Sie erstellen sollten:

A screenshot of all the metric you can create alerts for.

  • Suchlatenz: Mithilfe des Metriksignals können Sie angeben, welche Latenz die Warnung in Sekunden auslöst.
  • Gedrosselter Suchprozentsatz: Mithilfe des Metriksignals können Sie den Prozentsatz angeben.
  • Löschen des Suchdiensts: Mithilfe des Aktivitätsprotokollsignals werden Sie benachrichtigt, wenn Ihr Suchdienst gelöscht wird.
  • Beenden des Suchdiensts: Mithilfe des Aktivitätsprotokollsignals werden Sie benachrichtigt, wenn Ihr Suchdienst beendet wird. Dies geschieht, wenn Ihr Suchdienst hoch- oder herunterskaliert wird oder neu gestartet werden muss.