Monitorar uma solução da Pesquisa de IA do Azure

Concluído

O Azure Monitor pode fornecer insights sobre o uso e o desempenho de seu serviço de pesquisa. Você também pode receber alertas para ser notificado proativamente sobre problemas.

Aqui, você vai explorar todas as opções de monitoramento disponíveis para a Pesquisa de IA do Azure. Em seguida, você vai aprender sobre alertas úteis que pode criar para gerenciar sua solução de pesquisa.

Monitorar a Pesquisa de IA do Azure no Azure Monitor

Ao criar seu serviço da Pesquisa de IA do Azure, sem fazer nenhuma outra configuração, você pode ver sua latência de pesquisa atual, consultas por segundo e a porcentagem de consultas limitadas. Esses dados podem ser exibidos na guia Monitoramento da página de Visão Geral.

A screenshot of the monitor tab in Azure AI Search.

Você também pode verificar quais recursos sua solução de pesquisa está usando na guia Uso.

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

Essas informações básicas são um bom começo para o monitoramento, mas você pode ir mais longe com um pouco mais de configuração. Se você estiver familiarizado com o suporte a outros recursos na plataforma do Azure, saberá que o Azure Monitor pode ser usado para todos os recursos do Azure.

Na verdade, você já viu como habilitar o Azure Monitor na unidade otimizar o desempenho. Siga essas etapas para permitir que o Azure Monitor use dados capturados no Log Analytics para ver um conjunto completo de dados de diagnóstico.

Depois de começar a usar o Log Analytics, você obtém acesso a dados de desempenho e diagnóstico nestas tabelas de log:

  • AzureActivity – mostra tarefas que foram executadas, como dimensionar o serviço de pesquisa
  • AzureDiagnostics – todas as operações de consulta e indexação
  • AzureMetrics – dados usados para métricas que medem a integridade e o desempenho do serviço de pesquisa

Usar métricas para ver os dados de diagnóstico visualmente

A criação de gráficos é uma maneira poderosa de exibir o desempenho do serviço de pesquisa. Na seção Monitoramento do serviço de pesquisa, selecione Métricas.

A screenshot of the metrics page.

Agora, selecione para adicionar qualquer uma das métricas capturadas:

  • DocumentsProcessedCount
  • SearchLatency
  • SearchQueriesPerSecond
  • SkillExecutionCount
  • ThrottledSearchQueriesPercentage

Por exemplo, você pode plotar a latência da pesquisa em relação ao percentual de consultas limitadas para ver se as respostas às consultas são afetadas pela limitação.

Escrever consultass Kusto nos logs das soluções de pesquisa

O Log Analytics permite que você escreva qualquer consulta Kusto nos dados de log capturados. A maneira mais fácil de executar essas consultas é selecionando Logs na seção Monitorsr. Logs abre o Log Analytics com a janela de busca automaticamente no escopo da solução da Pesquisa de IA do Azure.

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

A consulta acima permite que você veja uma lista de operações recentes e quantas vezes elas aconteceram.

AzureDiagnostics
| summarize count() by OperationName

Estas consultas são úteis para ajudar você a monitorar e diagnosticar problemas com sua solução de pesquisa:

Consulta

Kusto


Consultas de execução longa

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

Status do indexador

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

Códigos de status HTTP

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

Taxas de consulta

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

Latência média de consulta

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

Média de consultas por minuto (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

Operações de indexação por minuto (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

Criar alertas para ser notificado sobre problemas comuns da solução de pesquisa

Os alertas podem permitir que você gerencie proativamente o serviço de pesquisa. Estes são alguns alertas comumente usados que você deve considerar criar:

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

  • Latência de Pesquisa usando o sinal de métrica, você pode especificar qual latência dispara o alerta em segundos
  • Porcentagem de pesquisa limitada usando o sinal de métrica, você pode especificar a porcentagem
  • Excluir o Serviço de Pesquisa usando o sinal do log de atividades, seja notificado se o serviço de pesquisa for excluído
  • Parar o Serviço de Pesquisa usando o sinal do log de atividades, seja notificado se o serviço de pesquisa for interrompido, o que acontecerá se o serviço de pesquisa for escalado ou reduzido verticalmente ou precisar ser reiniciado