En esta página se describe cómo usar métricas, métricas personalizadas y alertas integradas para monitorizar tus agentes en Vertex AI Agent Engine.
Información general
Puedes usar Vertex AI Agent Engine con Cloud Monitoring sin necesidad de realizar ninguna configuración adicional. Las métricas del agente integrado se recogen y se visualizan automáticamente en las páginas de Cloud Monitoring de laGoogle Cloud consola.
Métricas integradas admitidas
Se admiten las siguientes métricas de agente, que están asociadas al recurso monitorizado aiplatform.googleapis.com/ReasoningEngine
de Vertex AI Agent Engine:
- Número de solicitudes
- Latencias de solicitudes
- Tiempo de asignación de CPU del contenedor
- Tiempo de asignación de memoria de contenedor
Consulta la lista completa de métricas de AI Platform para obtener más información sobre los tipos de métricas, las unidades, las etiquetas, la latencia y el periodo de muestreo.
Ver las métricas de un agente
Puedes ver las métricas integradas de tu agente en la Google Cloud consola mediante el explorador de métricas:
Para obtener permiso para ver métricas en Explorador de métricas, pide a tu administrador que te asigne el rol Lector de Monitoring (
roles/monitoring.viewer
) en tu proyecto.Ve a Explorador de métricas en la Google Cloud consola:
Selecciona tu proyecto de Google Cloud .
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Escribe Vertex AI Reasoning Engine en la barra de búsqueda y haz clic en Vertex AI Reasoning Engine.
Haga clic en la categoría de métrica Reasoning_engine y, a continuación, en una métrica, como Recuento de solicitudes.
También puedes definir filtros de etiquetas adicionales, un elemento de agregación y ajustar el periodo.
De forma predeterminada, los gráficos de Explorador de métricas de la métrica Número de solicitudes alinean los puntos de datos con un intervalo de tiempo predeterminado y los representan como solicitudes por segundo (una métrica de tasa).
Consultar métricas de un agente
También puedes consultar métricas a través de Prometheus Query Language (PromQL) o de la API Cloud Monitoring v3. PromQL ofrece más opciones para filtrar, agregar y transformar métricas, mientras que la API Cloud Monitoring te permite enumerar y consultar de forma programática todos los puntos de datos sin procesar.
Consultar métricas con PromQL
Puedes usar PromQL para alinear y agregar puntos de datos con un intervalo de tiempo personalizado y representar los puntos de datos transformados como el recuento de solicitudes absoluto (en lugar de solicitudes por segundo). En el siguiente ejemplo, se filtran los datos por ID de instancia de Agent
Engine (RESOURCE_ID
) y código de respuesta
(RESPONSE_CODE
):
sum_over_time(
increase(
aiplatform_googleapis_com:reasoning_engine_request_count{
monitored_resource='aiplatform.googleapis.com/ReasoningEngine',
reasoning_engine_id='RESOURCE_ID',
response_code='RESPONSE_CODE'
}
[10m]
)
[10m:10m]
)
Para consultar la tasa de errores, calcula la proporción de solicitudes etiquetadas con determinados códigos de respuesta de error (como 500
) con respecto al número total de solicitudes (porcentaje de solicitudes fallidas):
sum_over_time(
sum(
rate(
aiplatform_googleapis_com:reasoning_engine_request_count{
monitored_resource='aiplatform.googleapis.com/ReasoningEngine',
reasoning_engine_id='RESOURCE_ID',
response_code='500'
}
[10m]
)
)
[10m:10m]
)
/
sum_over_time(
sum(
rate(
aiplatform_googleapis_com:reasoning_engine_request_count{
monitored_resource='aiplatform.googleapis.com/ReasoningEngine',
reasoning_engine_id='RESOURCE_ID',
}
[10m]
)
)
[10m:10m]
)
Para consultar las prácticas recomendadas y las restricciones de las métricas de ratio, consulte el artículo Acerca de los ratios de métricas. Para ver un ejemplo de cómo definir una alerta para la métrica de tasa de errores, consulta Ejemplos de políticas en JSON.
Consultar métricas con la API de Cloud Monitoring
Puedes usar la API de Cloud Monitoring para hacer lo siguiente:
Obtener la definición de recurso monitorizado de Vertex AI Agent Engine
Lista de definiciones de métricas de agente disponibles
Consultar datos de series temporales de
request_count
Todas las métricas de agente están asociadas al recurso monitorizado Agent Engine
aiplatform.googleapis.com/ReasoningEngine
.
Puedes invocar estas APIs a través de Explorador de APIs, bibliotecas de cliente específicas de cada lenguaje o la línea de comandos. Consulta la documentación para leer métricas a través de Explorador de APIs y bibliotecas de cliente. En los siguientes ejemplos se muestra el uso en la línea de comandos, concretamente de la herramienta curl
.
Obtener la definición del recurso monitorizado de Agent Engine
El siguiente comando obtiene la definición del recurso monitorizado mediante projects.monitoredResourceDescriptors
, así como todas las etiquetas disponibles que se pueden usar para filtrar:
gcurl https://monitoring.googleapis.com/v3/projects/PROJECT_ID/monitoredResourceDescriptors/aiplatform.googleapis.com/ReasoningEngine
Las etiquetas deben incluir resource_container
, location
y reasoning_engine_id
.
Lista de definiciones de métricas de agente disponibles
El siguiente comando usa projects.metricDescriptors
para obtener todas las métricas y los filtros de etiquetas de Agent Engine:
gcurl https://monitoring.googleapis.com/v3/projects/PROJECT_ID/metricDescriptors?filter='metric.type=starts_with("aiplatform.googleapis.com/reasoning_engine")'
El resultado debe incluir la definición de las siguientes métricas, así como sus etiquetas específicas:
aiplatform.googleapis.com/reasoning_engine/request_count
aiplatform.googleapis.com/reasoning_engine/request_latencies
aiplatform.googleapis.com/reasoning_engine/cpu/allocation_time
aiplatform.googleapis.com/reasoning_engine/memory/allocation_time
Consultar datos de series temporales de request_count
Puede usar projects.timeSeries.list
junto con parámetros como interval
, filter
y aggregation
para consultar datos de series temporales.
En el siguiente ejemplo se muestra cómo consultar los puntos de datos sin procesar de la métrica request_count
de una instancia de agente específica durante un periodo concreto:
gcurl https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter='metric.type="aiplatform.googleapis.com/reasoning_engine/request_count"%20AND%20resource.labels.reasoning_engine_id="RESOURCE_ID"&interval.endTime=2025-03-26T11:00:0.0-08:00&interval.startTime=2025-03-26T10:00:0.0-08:00'
Haz los cambios siguientes:
- PROJECT_ID: tu ID de proyecto Google Cloud .
- RESOURCE_ID: ID de instancia de Agent Engine. No siempre es obligatorio. Puedes hacer consultas en varias instancias de Agent Engine del mismo proyecto.
interval.startTime
yinterval.endTime
: el inicio (inclusive) y el final (exclusive) del intervalo de tiempo, en formato RFC 3339. Por ejemplo,"2025-03-26T11:22:33Z"
para el tiempo universal coordinado (UTC) y"2025-03-26T11:22:33-08:00"
para la hora estándar del Pacífico (PST). Consulta la definición completa y más ejemplos en RFC 3339.
Deberías recibir una respuesta similar a la siguiente:
{
"timeSeries": [
{
"metric": {
"labels": {
"response_code": "200",
"response_code_class": "2xx"
},
"type": "aiplatform.googleapis.com/reasoning_engine/request_count"
},
"resource": {
"type": "aiplatform.googleapis.com/ReasoningEngine",
"labels": {
"reasoning_engine_id": "RESOURCE_ID",
"location": "LOCATION",
"project_id": "PROJECT_ID"
}
},
"metricKind": "DELTA",
"valueType": "INT64",
"points": [
{
"interval": {
"startTime": "2025-03-26T18:55:27.001Z",
"endTime": "2025-03-26T18:56:27Z"
},
"value": {
"int64Value": "25"
}
},
{
"interval": {
"startTime": "2025-03-26T18:54:27.001Z",
"endTime": "2025-03-26T18:55:27Z"
},
"value": {
"int64Value": "36"
}
}
// ... more data points ...
]
}
// ... potentially more time series with other response codes ...
],
"unit": "1"
}
Consulta projects.timeSeries.list
para obtener más información sobre el formato de la respuesta.
Crear métricas personalizadas para un agente
Si las métricas de agente predefinidas no se ajustan a tu caso de uso específico, puedes definir métricas personalizadas. Puede crear métricas personalizadas con los siguientes métodos:
Métricas basadas en registros: observa las tendencias y los patrones de un gran volumen de entradas de registro.
Métricas definidas por el usuario: métricas que no están definidas por Google Cloud, como la captura de datos específicos de la aplicación o datos del sistema del lado del cliente.
Métricas basadas en registros
En los siguientes pasos se muestra cómo crear y usar una métrica basada en registros (tool_calling_count
) en un flujo de trabajo de ejemplo en el que varios agentes llaman a varias herramientas y quieres contar las invocaciones de herramientas:
Especifica tu herramienta para que escriba una entrada de registro cada vez que se llame a la herramienta. Por ejemplo,
"tool-\<tool-id\> invoked by agent-\<agent-id\>"
.Crea una métrica basada en registros de tipo contador mediante la Google Cloud consola:
Ve a la página Métricas basadas en registros de la consola de Google Cloud :
En la sección Métricas definidas por el usuario, haga clic en Crear métrica. Aparecerá el panel Crear métrica basada en registros.
En Tipo de métrica, selecciona Contador.
En la sección Detalles, introduce el nombre de la métrica basada en registros. Por ejemplo,
tool_calling_count
. Si quiere, puede introducir la Descripción y las Unidades.En la sección Selección de filtros, haga lo siguiente:
En la lista desplegable Seleccionar proyecto o contenedor de registro, selecciona Registros del proyecto.
En el campo Crear filtro, introduce el filtro de registro con el lenguaje de consulta de registro. Por ejemplo:
resource.type="aiplatform.googleapis.com/ReasoningEngine" resource.labels.reasoning_engine_id="RESOURCE_ID" textPayload =~ "tool-\d+ invoked by agent-\d+" -- assuming both tool and agent IDs are numeric
En la sección Etiquetas, añade dos etiquetas nuevas haciendo clic en el botón Añadir etiqueta.
Para la primera etiqueta, haz lo siguiente:
En el campo Nombre de la etiqueta, introduce
tool
.En el campo Nombre del campo, introduce
textPayload
.En el campo Expresión regular, introduzca
(tool-\d+) invoked by agent-\d+
.
Para la segunda etiqueta, haz lo siguiente:
En el campo Nombre de la etiqueta, introduce
agent
.En el campo Nombre del campo, introduce
textPayload
.En el campo Expresión regular, introduzca
tool-\d+ invoked by (agent-\d+)
.
- Haz clic en Listo.
Haz clic en Crear métrica.
Para ver la métrica
tool_calling_count
y sus registros asociados, haz lo siguiente en la Google Cloud consola:Ve a la página Explorador de métricas de la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Escribe Vertex AI Reasoning Engine en la barra de búsqueda y haz clic en Vertex AI Reasoning Engine.
Haga clic en la categoría de métrica Métricas basadas en registros y, a continuación, en Logging/user/tool_calling_count. Ajusta el periodo si es necesario.
(Opcional) Filtra por las etiquetas
tool
yagent
.Para obtener el número total de invocaciones de una herramienta específica para todos los agentes, asigna a la etiqueta de filtro
tool
el valor del ID de esa herramienta.Para obtener el recuento total de invocaciones de un agente específico para todas las herramientas, asigna a la etiqueta de filtro
agent
el valor del ID de ese agente.
También puedes definir Sum By (Sumar por) como
tool
oagent
para obtener el recuento total desglosado por diferentes herramientas o agentes.
Consulta Registrar un agente para obtener instrucciones sobre cómo escribir registros de agentes y Información general sobre las métricas basadas en registros para obtener más detalles sobre las métricas basadas en registros.
Métricas definidas por el usuario
En los pasos siguientes se muestra cómo crear y usar una métrica definida por el usuario (token_count
) en un flujo de trabajo de ejemplo en el que varios agentes llaman a varios modelos y quieres calcular el recuento total de tokens consumidos (suponiendo que monitorizas el número de tokens desde el inicio de la aplicación para cada agente y modelo de destino que se invoca):
Defina el tipo de métrica personalizada llamando a
projects.metricDescriptors.create
con los siguientes parámetros:name
: una cadena de URL, comoprojects/PROJECT_ID
Request body
: un objetoMetricDescriptor
{ "name": "token_count", "description": "Token Consumed by models.", "displayName": "Token Count", "type": "custom.googleapis.com/token_count", "metricKind": "CUMULATIVE", "valueType": "INT64", "unit": "1", "labels": [ { "key": "model", "valueType": "STRING", "description": "Model." }, { "key": "agent", "valueType": "STRING", "description": "Agent." } ], "monitoredResourceTypes": [ "generic_node" ] }
La nueva métrica
token_count
se crea con el tipoCumulative
, que representa el número total de tokens desde el inicio de la aplicación. Consulta más información sobre los tipos y clases de métricas deCumulative
. Las etiquetasmodel
yagent
representan el nombre del modelo de lenguaje extenso (LLM) de destino y del agente de invocación.
Puede encontrar la métrica
token_count
en el explorador de métricas:- Ve a la página Explorador de métricas de la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Escribe Nodo genérico en la barra de búsqueda y haz clic en Métricas personalizadas.
Haz clic en Recuento de tokens.
Escribe puntos de datos en la nueva métrica llamando a
projects.timeSeries.create
con los siguientes parámetros:name
: una cadena de URL, comoprojects/PROJECT_ID
Request body
: una lista de objetosTimeSeries
:{ "timeSeries": [ { "metric": { "type": "custom.googleapis.com/token_count", "labels": { "model": "model-1", "agent": "agent-1" } }, "resource": { "type": "generic_node", "labels": { "project_id": "PROJECT_ID", "node_id": "RESOURCE_ID", "namespace": "", "location": "us-central1" } }, "points": [ { "interval": { "startTime": "2025-03-26T10:00:00-08:00", "endTime": "2025-03-26T10:01:00-08:00" }, "value": { "int64Value": 15 } } ] }, { "metric": { "type": "custom.googleapis.com/token_count", "labels": { "model": "model-1", "agent": "agent-2" } }, "resource": { "type": "generic_node", "labels": { "project_id": "PROJECT_ID", "node_id": "RESOURCE_ID", "namespace": "", "location": "us-central1" } }, "points": [ { "interval": { "startTime": "2025-03-26T10:00:00-08:00", "endTime": "2025-03-26T10:01:00-08:00" }, "value": { "int64Value": 20 } } ] } // ... more time series ... ] }
Una vez que se hayan subido los puntos de datos a través de la API de Cloud Monitoring, podrás ver la nueva métrica
token_count
en la consola: Google CloudVe a la página Explorador de métricas de la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Escribe Nodo genérico en la barra de búsqueda y haz clic en Métricas personalizadas.
Haz clic en Recuento de tokens. Ajusta el periodo y configura los valores de las etiquetas de
model
oagent
si es necesario.
Crear alertas para un agente
Puede usar métricas en combinación con alertas. Consulta más información en el resumen de las alertas.
En el siguiente ejemplo se muestra cómo crear una alerta de umbral para la métrica request_latencies
, de forma que recibas notificaciones cuando la latencia supere un valor predefinido durante un periodo específico:
Ve a la página Alertas de la consola de Google Cloud :
Haz clic enCreate Policy (Crear política). Se abrirá la página Crear política de alertas.
En Modo de configuración de la política, selecciona Creador.
En el menú desplegable Selecciona una métrica, selecciona
Vertex AI Reasoning Engine
->reasoning_engine
->Request Latency
.En la sección Añadir filtros, puede configurar filtros (como
reasoning_engine_id
oresponse_code
).En la sección Transform data (Transformar datos), activa Rolling window (Ventana móvil) y Rolling window function (Función de ventana móvil) para asignarles valores como
5min
y99th percentile
(monitoriza el percentil 99 de la latencia de las solicitudes durante el periodo de alineación de 5 minutos).Haz clic en Siguiente.
En la sección Configurar activador de alerta, haga lo siguiente:
Selecciona Umbral en Tipos de condición.
Seleccione un Activador de alerta, como Cualquier serie temporal infringe.
Selecciona una posición del umbral, como Por encima del umbral.
Introduce un valor de umbral, como
5000ms
.Haz clic en Siguiente.
En la sección Configurar notificaciones y finalizar alerta, haga lo siguiente:
Selecciona uno o varios canales de notificación. Consulta más información en el artículo Gestionar canales de notificación.
(Opcional) Configura el asunto de la notificación, la duración del cierre automático de la incidencia, las etiquetas de la aplicación, las etiquetas de la política, el nivel de gravedad y la documentación adicional.
En la sección Dar nombre a la política de alertas, asigna un nombre a la política, como
latency-99p-alert
.Haz clic en Crear política.
En caso de que se produzca un incidente, consulta Incidentes de políticas de alertas basadas en métricas para obtener más información sobre cómo confirmar e investigar el incidente y silenciar la alerta.
Puedes consultar más ejemplos de alertas en Políticas de ejemplo en JSON.
Monitorizar métricas de un agente
Puedes usar el panel de control Vista general de Vertex AI Agent Engine para monitorizar el estado operativo y el rendimiento de tus agentes.
Ver el panel de control predeterminado
Ve a la página Paneles de control de la consola de Google Cloud :
Selecciona tu proyecto de Google Cloud .
En el panel Mis paneles de control, añade el filtro
Name:Vertex AI Agent Engine Overview
.Haga clic en Resumen de Vertex AI Agent Engine para ver el panel de control del agente predeterminado.
Personalizar el panel de control predeterminado
El panel de control predeterminado solo contiene las métricas integradas del agente. Para añadir sus propias métricas personalizadas al panel de control, siga estos pasos para copiar y personalizar el panel predeterminado:
Haz clic en Copiar panel de control. En el cuadro de diálogo Copiar panel de control, haz clic en Copiar. Se abrirá la copia del panel de control. También puedes encontrar la copia del panel de control en el panel Mis paneles de control de la categoría Personalizado.
En la copia del panel de control, sigue estos pasos para añadir una métrica:
Haz clic en Añadir widget. Aparecerá el panel lateral Añadir widget.
En Datos, selecciona Métrica. Aparecerá el panel lateral Configurar widget.
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Si tu métrica personalizada se crea con métricas basadas en registros:
Escribe Vertex AI Reasoning Engine en la barra de búsqueda y haz clic en Vertex AI Reasoning Engine.
Haga clic en la categoría de métrica Métricas basadas en registros y, a continuación, en una métrica, como Logging/user/tool_calling_count.
Haz clic en Aplicar.
Si su métrica personalizada se crea con métricas definidas por el usuario:
Escribe Generic Node (Nodo genérico) en la barra de búsqueda y haz clic en Generic Node.
Haga clic en la categoría de métrica Métricas personalizadas y, a continuación, en una métrica, como Recuento de tokens.
Haz clic en Aplicar.
En el panel de control se muestra un nuevo gráfico con la métrica personalizada.
También puedes ajustar el diseño del panel de control. Por ejemplo:
Para mover un widget, mantén pulsado su título y arrástralo a otra ubicación del mismo panel de control.
Para cambiar el tamaño del widget, mantén pulsada la esquina inferior derecha y ajusta su tamaño.
Consulta Añadir gráficos y tablas a un panel de control personalizado para obtener más información sobre cómo añadir gráficos de métricas con Prometheus Query Language (PromQL), así como tabular tus métricas.
Si ha configurado alertas personalizadas, consulte el artículo Mostrar políticas y alertas en un panel de control para añadir estas alertas a su panel de control.