Een Azure AI Search-oplossing bewaken
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 .
U kunt ook controleren welke resources uw zoekoplossing gebruikt op het tabblad Gebruik .
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.
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.
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:
- 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