Supervisión de una solución de Búsqueda de Azure AI

Completado

Azure Monitor puede proporcionarle información sobre el rendimiento y el uso del servicio de búsqueda. También puede recibir alertas para notificarle de forma proactiva los problemas.

Aquí explorará todas las opciones de supervisión disponibles para Búsqueda de Azure AI. A continuación, obtendrá información sobre las alertas útiles que puede crear para administrar la solución de búsqueda.

Supervisión de Búsqueda de Azure AI en Azure Monitor

Al crear el servicio de Búsqueda de Azure AI, sin realizar ninguna configuración adicional, puede ver la latencia de búsqueda actual, las consultas por segundo y el porcentaje de consultas limitadas. Estos datos se pueden ver en la pestaña Supervisión de la página Información general.

A screenshot of the monitor tab in Azure AI Search.

También puede comprobar qué recursos usa la solución de búsqueda en la pestaña Utilización.

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

Esta información básica es un punto de partida para la supervisión, pero puede ir más allá con alguna configuración adicional. Si está familiarizado con la compatibilidad con otros recursos en la plataforma de Azure, sabrá que Azure Monitor se puede usar para todos los recursos de Azure.

De hecho, ya ha visto cómo habilitar Azure Monitor en la unidad de optimización del rendimiento. Siga esos pasos para permitir que Azure Monitor use los datos capturados en Log Analytics para ver un conjunto completo de datos de diagnóstico.

Una vez que haya empezado a usar Log Analytics, podrá acceder a los datos de rendimiento y diagnóstico de estas tablas de registro:

  • AzureActivity: muestra las tareas que se han ejecutado como el escalado del servicio de búsqueda
  • AzureDiagnostics: todas las operaciones de consulta e indexación
  • AzureMetrics: datos usados para métricas que miden el estado y el rendimiento del servicio de búsqueda

Uso de métricas para ver visualmente los datos de diagnóstico

La creación de gráficos es una manera eficaz de ver el rendimiento del servicio de búsqueda. En la sección Supervisión del servicio de búsqueda, seleccione Métricas.

A screenshot of the metrics page.

Ahora seleccione la opción correspondiente para agregar cualquiera de estas métricas capturadas:

  • DocumentsProcessedCount
  • SearchLatency
  • SearchQueriesPerSecond
  • SkillExecutionCount
  • ThrottledSearchQueriesPercentage

Por ejemplo, podría trazar la latencia de búsqueda con respecto al porcentaje de consultas limitadas para ver si las respuestas a las consultas se ven afectadas por la limitación.

Escritura de consultas de Kusto en los registros de las soluciones de búsqueda

Log Analytics le permite escribir cualquier consulta de Kusto en los datos de registro capturados. La manera más fácil de ejecutar estas consultas es seleccionando Registros en la sección Supervisión. Registros abre Log Analytics con la ventana de búsqueda limitada automáticamente al ámbito de la solución de Búsqueda de Azure AI.

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

La consulta anterior le permite ver una lista de las operaciones recientes y cuántas veces se han producido.

AzureDiagnostics
| summarize count() by OperationName

A continuación se indican consultas útiles para ayudarle a supervisar y diagnosticar problemas con la solución de búsqueda:

Consultar

Kusto


Consultas de ejecución prolongada

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

Estado del indizador

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

Códigos de estado HTTP

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

Tasas 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

Latencia media 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

Media 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

Operaciones de indexación 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

Creación de alertas para recibir notificaciones sobre problemas comunes de la solución de búsqueda

Las alertas pueden permitirle administrar de forma proactiva el servicio de búsqueda. A continuación se indican algunas alertas usadas habitualmente que puede que le interese crear:

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

  • Latencia de búsqueda mediante la señal de métrica; puede especificar qué latencia desencadena la alerta en segundos.
  • Porcentaje de búsquedas limitadas mediante la señal de métrica; puede especificar el porcentaje.
  • Eliminación del servicio de búsqueda mediante la señal del registro de actividad; reciba una notificación si se elimina el servicio de búsqueda.
  • Detención del servicio de búsqueda mediante la señal del registro de actividad; reciba una notificación si el servicio de búsqueda se detiene, lo que sucede si el servicio de búsqueda se escala o reduce verticalmente o si debe reiniciarse.