Supervisión de una solución de Búsqueda de Azure AI
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.
También puede comprobar qué recursos usa la solución de búsqueda en la pestaña Utilización.
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.
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.
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:
- 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.