Een Azure AI Search-oplossing bewaken

Voltooid

Met Azure Monitor krijgt u inzicht in hoe goed uw zoekservice wordt gebruikt en presteert. U kunt ook waarschuwingen ontvangen om u proactief op de hoogte te stellen van problemen.

Hier verkent u alle bewakingsopties die beschikbaar zijn voor Azure AI Search. Vervolgens leert u meer over nuttige waarschuwingen die u kunt maken om uw zoekoplossing te beheren.

Monitor Azure AI Search in Azure Monitor

Wanneer u uw Azure AI-Search-service maakt, zonder dat u een andere installatie uitvoert, kunt u uw huidige zoeklatentie, query's per seconde en het percentage van vertraagde query's zien. Deze gegevens kunnen worden weergegeven op het tabblad Bewaking van de pagina Overzicht .

A screenshot of the monitor tab in Azure AI Search.

U kunt ook controleren welke resources uw zoekoplossing gebruikt op het tabblad Gebruik .

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

Deze basisinformatie is een goed begin met het bewaken, maar u kunt verdergaan met wat meer configuratie. Als u bekend bent met het ondersteunen van andere resources op het Azure-platform, weet u dat Azure Monitor kan worden gebruikt voor al uw Azure-resources.

In feite hebt u al gezien hoe u Azure Monitor inschakelt in de prestatie-eenheid optimaliseren. Volg deze stappen om Azure Monitor toe te staan om gegevens te gebruiken die zijn vastgelegd in Log Analytics om een volledige set diagnostische gegevens weer te geven.

Zodra u Log Analytics hebt gebruikt, krijgt u toegang tot prestatie- en diagnostische gegevens in deze logboektabellen:

  • AzureActivity : toont taken die zijn uitgevoerd, zoals het schalen van de zoekservice
  • AzureDiagnostics - Alle query- en indexeringsbewerkingen
  • AzureMetrics : gegevens die worden gebruikt voor metrische gegevens die de status en prestaties van uw zoekservice meten

Metrische gegevens gebruiken om diagnostische gegevens visueel weer te geven

Het maken van grafieken is een krachtige manier om te zien hoe uw zoekservice presteert. Selecteer metrische gegevens in de sectie Bewaking van uw zoekservice.

A screenshot of the metrics page.

Selecteer nu om een van deze vastgelegde metrische gegevens toe te voegen:

  • DocumentsProcessedCount
  • SearchLatency
  • SearchQueriesPerSecond
  • SkillExecutionCount
  • ThrottledSearchQueriesPercentage

U kunt bijvoorbeeld zoeklatentie uitzetten op basis van het percentage vertraagde query's om te zien of de antwoorden op query's worden beïnvloed door beperking.

Kusto-query's schrijven op uw logboeken voor zoekoplossingen

Met Log Analytics kunt u elke Kusto-query schrijven op vastgelegde logboekgegevens. De eenvoudigste manier om deze query's uit te voeren, is door logboeken te selecteren in de sectie Monitor. Logboeken worden Log Analytics geopend met het quest-venster dat automatisch is afgestemd op uw Azure AI Search-oplossing.

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

Met de bovenstaande query ziet u een lijst met recente bewerkingen en hoe vaak deze zijn uitgevoerd.

AzureDiagnostics
| summarize count() by OperationName

Hieronder vindt u nuttige query's waarmee u problemen met uw zoekoplossing kunt bewaken en diagnosticeren:

Query

Kusto


Langlopende query's

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

Status van indexeerfunctie

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

HTTP-statuscode

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

Queryfrequenties

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

Gemiddelde querylatentie

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

Gemiddelde query's per minuut (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

Indexeringsbewerkingen per minuut (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

Waarschuwingen maken om op de hoogte te worden gesteld van veelvoorkomende problemen met zoekoplossing

Met waarschuwingen kunt u uw zoekservice proactief beheren. Hier volgen enkele veelgebruikte waarschuwingen die u kunt maken:

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

  • Zoeklatentie met behulp van het metrische signaal kunt u opgeven welke latentie de waarschuwing in seconden activeert
  • Beperkt zoekpercentage met behulp van het metrische signaal, kunt u het percentage opgeven
  • Verwijder de zoekservice met behulp van het signaal voor het activiteitenlogboek, en u ontvangt een melding als uw zoekservice wordt verwijderd
  • Stop De zoekservice met behulp van het signaal voor het activiteitenlogboek, wordt op de hoogte gesteld als uw zoekservice is gestopt. Dit gebeurt als uw zoekservice omhoog of omlaag wordt geschaald of opnieuw moet worden gestart