Monitorare una soluzione di Azure AI Search
Monitoraggio di Azure può fornire informazioni dettagliate sull'uso e sulle prestazioni del servizio di ricerca. È anche possibile ricevere avvisi per essere avvisati in modo proattivo in caso di problemi.
In questa unità si esploreranno tutte le opzioni di monitoraggio disponibili Azure AI Search. Verranno quindi illustrati gli avvisi utili che è possibile creare per gestire la soluzione di ricerca.
Monitorare Azure AI Search in Monitoraggio di Azure
Quando si crea il servizio Azure AI Search, senza eseguire alcuna altra operazione di configurazione, è possibile visualizzare la latenza di ricerca corrente, le query al secondo e la percentuale di query limitate. Questi dati possono essere visualizzati nella scheda Monitoraggio della pagina Panoramica.
È anche possibile controllare quali sono le risorse usate dalla soluzione di ricerca nella scheda Utilizzo.
Queste informazioni di base sono un buon inizio per il monitoraggio, ma è possibile andare oltre con qualche altra configurazione. Come sa bene chi ha familiarità con il supporto di altre risorse nella piattaforma Azure, Monitoraggio di Azure può essere usato per tutte le risorse di Azure.
Si è già visto infatti come abilitare Monitoraggio di Azure nell'unità Ottimizzare le prestazioni. Seguire questa procedura per consentire a Monitoraggio di Azure di usare i dati acquisiti in Log Analytics per visualizzare un set completo di dati di diagnostica.
Dopo aver iniziato a usare Log Analytics, si avrà accesso ai dati relativi a prestazioni e diagnostica nelle tabelle di log seguenti:
- AzureActivity: mostra le attività che sono state eseguite, ad esempio il ridimensionamento del servizio di ricerca
- AzureDiagnostics: tutte le operazioni di query e indicizzazione
- AzureMetrics: dati usati per le metriche che misurano l'integrità e le prestazioni del servizio di ricerca
Usare le metriche per visualizzare i dati di diagnostica
La creazione di grafici è un modo efficace per visualizzare le prestazioni del servizio di ricerca. Nella sezione Monitoraggio del servizio di ricerca selezionare Metriche.
Selezionare ora l'opzione desiderata per aggiungere una di queste metriche acquisite:
- DocumentsProcessedCount
- SearchLatency
- SearchQueriesPerSecond
- SkillExecutionCount
- ThrottledSearchQueriesPercentage
È ad esempio possibile tracciare la latenza di ricerca rispetto alla percentuale di query limitate per verificare se le risposte alle query sono interessate dalla limitazione.
Scrivere query Kusto sui log delle soluzioni di ricerca
Log Analytics consente di scrivere qualsiasi query Kusto sui dati di log acquisiti. Il modo più semplice per eseguire queste query consiste nel selezionare Log nella sezione Monitoraggio. Log apre Log Analytics con la finestra della richiesta impostata automaticamente sull'ambito della soluzione di Azure AI Search.
La query precedente consente di visualizzare un elenco di operazioni recenti e il numero di volte in cui sono state eseguite.
AzureDiagnostics
| summarize count() by OperationName
Le query seguenti sono utili per monitorare e diagnosticare i problemi della soluzione di ricerca:
Query
Kusto
Query con esecuzione prolungata
AzureDiagnostics
| project OperationName, resultSignature_d, DurationMs, Query_s, Documents_d, IndexName_s
| where OperationName == "Query.Search"
| sort by DurationMs
Stato dell'indicizzatore
AzureDiagnostics
| project OperationName, Description_s, Documents_d, ResultType, resultSignature_d
| where OperationName == "Indexers.Status"
Codici di stato HTTP
AzureDiagnostics
| where TimeGenerated > ago(7d)
| summarize count() by resultSignature_d
| render barchart
Frequenze query
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
Latenza media query
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
Numero medio di query al minuto
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
Operazioni di indicizzazione al minuto
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
Creare avvisi per ricevere una notifica sui problemi comuni della soluzione di ricerca
Gli avvisi consentono di gestire in modo proattivo il servizio di ricerca. Ecco alcuni avvisi usati comunemente che è consigliabile creare:
- Latenza ricerca: usando il segnale della metrica, è possibile specificare la latenza che attiva l'avviso in pochi secondi
- Percentuale query di ricerca limitate: usando il segnale della metrica, è possibile specificare la percentuale
- Elimina servizio di ricerca: usando il segnale del log attività, si riceve una notifica se il servizio di ricerca viene eliminato
- Arresta servizio di ricerca: usando il segnale del log attività, si riceve una notifica se il servizio di ricerca viene arrestato, il che si verifica se le prestazioni del servizio di ricerca vengono aumentate o ridotte oppure se è necessario riavviare il servizio