En esta página, se describe cómo usar métricas integradas, métricas personalizadas y alertas para supervisar tus agentes en Vertex AI Agent Engine.
Descripción general
Puedes usar Vertex AI Agent Engine con Cloud Monitoring sin ninguna configuración adicional. Las métricas del agente integrado se recopilan y visualizan automáticamente en las páginas de Cloud Monitoring en la consola deGoogle Cloud .
Métricas integradas compatibles
Las siguientes métricas de agentes son compatibles y se asocian con el recurso supervisado del motor de agentes de Vertex AI aiplatform.googleapis.com/ReasoningEngine
:
- Recuento de solicitudes
- Latencias de las solicitudes
- Tiempo de asignación de CPU del contenedor
- Tiempo de asignación de memoria del contenedor
Consulta la lista completa de métricas de AI Platform para obtener más detalles sobre los tipos de métricas, las unidades, las etiquetas, así como la latencia y el período de muestreo.
Consulta las métricas de un agente
Puedes ver las métricas integradas de tu agente en la Google Cloud consola con el Explorador de métricas:
Para obtener permiso para ver las métricas en el Explorador de métricas, pídele a tu administrador que te otorgue el rol de Visualizador de Monitoring (
roles/monitoring.viewer
) en tu proyecto.Ve al Explorador de métricas en la Google Cloud consola:
Seleccionar tu Google Cloud proyecto.
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Ingresa Motor de razonamiento de Vertex AI en la barra de búsqueda y haz clic en Motor de razonamiento de Vertex AI.
Haz clic en la categoría de métrica Reasoning_engine y, luego, en una métrica, como Request count.
De manera opcional, establece filtros de etiquetas adicionales, el elemento de agregación y ajusta el intervalo de tiempo.
De forma predeterminada, los gráficos del Explorador de métricas para la métrica Recuento de solicitudes alinean los datos con un intervalo de tiempo predeterminado y los grafican como solicitudes por segundo (una métrica de frecuencia).
Cómo consultar métricas de un agente
También puedes consultar métricas a través del lenguaje de consulta de Monitoring (MQL), el lenguaje de consulta de Prometheus (PromQL) o la API de Cloud Monitoring v3. MQL y PromQL ofrecen más opciones para el filtrado, la agregación y la transformación de métricas, mientras que la API de Cloud Monitoring te permite enumerar y consultar de forma programática todos los datos sin procesar.
Consulta métricas con MQL o PromQL
Puedes usar MQL o PromQL para alinear y agregar datos con un intervalo de tiempo personalizado y graficar los datos transformados como el recuento absoluto de solicitudes (en lugar de solicitudes por segundo):
MQL
fetch aiplatform.googleapis.com/ReasoningEngine
| metric 'aiplatform.googleapis.com/reasoning_engine/request_count'
| filter
(resource.reasoning_engine_id == 'RESOURCE_ID')
&& (metric.response_code == 'RESPONSE_CODE')
| align delta(10m)
| every 10m
PromQL
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 las solicitudes etiquetadas con ciertos códigos de respuesta de error (como 500
) con respecto a la cantidad total de solicitudes (porcentaje de solicitudes con errores):
MQL
fetch aiplatform.googleapis.com/ReasoningEngine
| metric 'aiplatform.googleapis.com/reasoning_engine/request_count'
| filter resource.reasoning_engine_id == 'RESOURCE_ID'
| { filter metric.response_code == '500' ; ident }
| align rate(10m)
| every 10m
| group_by [], [value_request_count_aggregate: aggregate(value.request_count)]
| ratio
PromQL
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 conocer las prácticas recomendadas y las restricciones de las métricas de proporción, consulta Acerca de las proporciones de las métricas. Para ver un ejemplo de cómo configurar una alerta para la métrica de tasa de error, consulta Ejemplos de políticas en JSON.
Consulta métricas con la API de Cloud Monitoring
Puedes usar la API de Cloud Monitoring para hacer lo siguiente:
Obtén la definición de recurso supervisado de Vertex AI Agent Engine
Lista de definiciones de métricas de agente disponibles
Cómo consultar datos de series temporales de
request_count
Todas las métricas del agente están asociadas con el recurso supervisado del motor de agentes aiplatform.googleapis.com/ReasoningEngine
.
Puedes invocar estas APIs a través del
Explorador de APIs, las bibliotecas cliente
específicas de un lenguaje o la línea de comandos. Consulta la documentación para leer métricas a través del Explorador de APIs y las bibliotecas cliente. En los siguientes ejemplos, se muestra el uso en la línea de comandos, más específicamente, la herramienta curl
.
Obtén la definición de recurso supervisado del motor de agentes
El siguiente comando recupera la definición del recurso supervisado con 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 recuperar 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
Cómo consultar datos de series temporales de request_count
Puedes 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 datos sin procesar de la métrica request_count
para una instancia de agente específica durante un período específico:
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'
Reemplaza lo siguiente:
- PROJECT_ID: El ID de tu proyecto de Google Cloud .
- RESOURCE_ID: El ID de la instancia de Agent Engine. Esto no siempre es obligatorio. Puedes consultar varias instancias de Agent Engine dentro del mismo proyecto.
interval.startTime
yinterval.endTime
: El inicio (inclusive) y la finalización (excluyente) del intervalo de tiempo, en formato RFC 3339. Por ejemplo,"2025-03-26T11:22:33Z"
para la hora universal coordinada (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 la RFC 3339.
Deberías recibir una respuesta similar a la que figura a continuación:
{
"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 detalles sobre el formato de la respuesta.
Crea métricas personalizadas para un agente
Si las métricas del agente integradas no cubren tu caso de uso específico, puedes definir métricas personalizadas. Puedes crear métricas personalizadas con los siguientes métodos:
Métricas basadas en registros: Observa tendencias y patrones en un gran volumen de entradas de registro.
Métricas definidas por el usuario: Métricas que no define Google Cloud, como la captura de datos específicos de la aplicación o datos del sistema 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
) para un flujo de trabajo de ejemplo en el que varios agentes llaman a varias herramientas y deseas contar las invocaciones de herramientas:
Especifica tu herramienta para que escriba una entrada de registro cada vez que se la llame. Por ejemplo,
"tool-\<tool-id\> invoked by agent-\<agent-id\>"
.Crea una nueva métrica basada en registros de tipo de contador a través de la consola de Google Cloud :
Ve a la página Métricas basadas en registros en la consola de Google Cloud :
En la sección Métricas definidas por el usuario, haz 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, ingresa el Nombre de la métrica basada en registros. Por ejemplo,
tool_calling_count
. De manera opcional, ingresa la Descripción y las Unidades.En la sección Selección de filtro, haz lo siguiente:
En la lista desplegable Seleccionar proyecto o bucket de registros, selecciona Registros del proyecto.
En el campo Build filter, ingresa 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, haz clic en el botón Agregar etiqueta para agregar dos etiquetas nuevas.
Para la primera etiqueta, haz lo siguiente:
En el campo Label name, ingresa
tool
.En el campo Nombre del campo (Field name), ingresa
textPayload
.En el campo Expresión regular, ingresa
(tool-\d+) invoked by agent-\d+
.
Para la segunda etiqueta, haz lo siguiente:
En el campo Label name, ingresa
agent
.En el campo Nombre del campo (Field name), ingresa
textPayload
.En el campo Expresión regular, ingresa
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 consola de Google Cloud :Ve a la página Explorador de métricas en la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Ingresa Motor de razonamiento de Vertex AI en la barra de búsqueda y haz clic en Motor de razonamiento de Vertex AI.
Haz clic en la categoría de métrica Métricas basadas en registros y, luego, en Logging/user/tool_calling_count. Si es necesario, ajusta el intervalo de tiempo.
(Opcional) Filtra por las etiquetas
tool
yagent
.Para obtener el recuento total de invocaciones de una herramienta específica para todos los agentes, configura la etiqueta de filtro
tool
con el valor del ID de esa herramienta.Para obtener el recuento total de invocaciones de un agente específico para todas las herramientas, configura la etiqueta de filtro
agent
con el valor de ese ID de agente.
De manera opcional, establece Sumar por en
tool
oagent
para obtener el recuento total desglosado por diferentes herramientas o agentes.
Consulta Cómo registrar un agente para obtener instrucciones sobre cómo escribir registros de agentes y Descripción general de 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 siguientes pasos, se muestra cómo crear y usar una métrica definida por el usuario (token_count
) para un flujo de trabajo de ejemplo en el que varios agentes llaman a varios modelos y deseas calcular el recuento total de tokens consumidos (suponiendo que realizas un seguimiento de la cantidad de tokens desde el inicio de la aplicación para cada agente de invocación y modelo de destino):
Para definir el tipo de métrica personalizada, llama a
projects.metricDescriptors.create
con los siguientes parámetros:name
: Es 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 métrica nueva
token_count
se crea con el tipoCumulative
, que representa la cantidad total de tokens desde el inicio de la aplicación. Consulta Categorías y tipos de métricas para obtener más detalles sobre las métricas deCumulative
. Las etiquetasmodel
yagent
representan el nombre del modelo de lenguaje grande (LLM) de destino y el agente de invocación.
Puedes encontrar la métrica
token_count
en el Explorador de métricas:- Ve a la página Explorador de métricas en la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Ingresa Nodo genérico en la barra de búsqueda y haz clic en Métricas personalizadas.
Haz clic en Recuento de tokens.
Para escribir datos en la métrica nueva, llama a
projects.timeSeries.create
con los siguientes parámetros:name
: Es una cadena de URL, comoprojects/PROJECT_ID
.Request body
: Es 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 suban los datos a través de la API de Cloud Monitoring, podrás ver la métrica nueva
token_count
a través de la consola de Google Cloud :Ve a la página Explorador de métricas en la consola de Google Cloud :
Haz clic en Seleccionar una métrica para abrir una barra de búsqueda.
Ingresa Nodo genérico en la barra de búsqueda y haz clic en Métricas personalizadas.
Haz clic en Recuento de tokens. Ajusta el intervalo de tiempo y configura los valores de etiqueta para
model
oagent
si es necesario.
Crea alertas para un agente
Puedes usar métricas en combinación con alertas. Consulta la descripción general de las alertas para obtener más detalles.
En el siguiente ejemplo, se muestra cómo crear una alerta de umbral para la métrica request_latencies
para que recibas notificaciones cuando la latencia supere un valor predefinido durante una duración especificada:
Ve a la página Alertas en la Google Cloud consola:
Haz clic en Crear política. Se abrirá la página Crear política de alertas.
En Policy configuration mode, selecciona Builder.
En el menú desplegable Seleccionar una métrica, selecciona
Vertex AI Reasoning Engine
->reasoning_engine
->Request Latency
.En la sección Agregar filtros, configura filtros de forma opcional (como
reasoning_engine_id
,response_code
).En la sección Transforma datos, activa o desactiva Ventana progresiva y Función de ventana progresiva en valores como
5min
y99th percentile
(supervisa el percentil 99 de la latencia de la solicitud durante el período de alineación de 5 minutos).Haz clic en Siguiente.
En la sección Configurar activador de alertas, haz lo siguiente:
Selecciona Umbral en Tipos de condiciones.
Selecciona un Activador de alertas, como Cualquier serie temporal es una infracción.
Selecciona una Posición del umbral, como Umbral superior.
Ingresa un valor de límite, como
5000ms
.Haz clic en Siguiente.
En la sección Configurar notificaciones y finalizar la alerta, haz lo siguiente:
Selecciona uno o más canales de notificaciones. Consulta Administra canales de notificaciones para obtener más información.
(Opcional) Configura el asunto de la notificación, la duración del cierre automático de incidentes, las etiquetas de la aplicación, las etiquetas de la política, el nivel de gravedad y la documentación adicional.
Establece el nombre de la política en la sección Nombre de la política de alertas, como
latency-99p-alert
.Haz clic en Crear política.
En caso de un incidente, consulta Incidentes para políticas de alertas basadas en métricas para obtener más información sobre cómo confirmar y analizar el incidente, y silenciar la alerta.
Puedes encontrar más ejemplos de alertas en Políticas de ejemplo en JSON.
Supervisa las métricas de un agente
Puedes usar el panel Descripción general del motor de agentes de Vertex AI para supervisar el estado operativo y el rendimiento de tus agentes.
Cómo ver el panel predeterminado
Ve a la página Paneles en la Google Cloud consola:
Seleccionar tu Google Cloud proyecto.
En el panel Mis paneles, agrega el filtro
Name:Vertex AI Agent Engine Overview
.Haz clic en Descripción general de Vertex AI Agent Engine para mostrar el panel predeterminado del agente.
Cómo personalizar el panel predeterminado
El panel predeterminado solo contiene las métricas integradas del agente. Para agregar tus propias métricas personalizadas al panel, sigue estos pasos para copiar y personalizar el panel predeterminado:
Haz clic en Copiar panel. En el cuadro de diálogo Copiar panel, haz clic en Copiar. Se abrirá la copia del panel. También puedes encontrar la copia del panel en el panel Mis paneles, en la categoría Personalizado.
En la copia del panel, sigue estos pasos para agregar una métrica:
Haz clic en Agregar widget. Aparecerá el panel lateral Agregar 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, haz lo siguiente:
Ingresa Vertex AI Reasoning Engine en la barra de búsqueda y haz clic en Vertex AI Reasoning Engine.
Haz clic en la categoría de métrica Métricas basadas en registros y, luego, en una métrica, como Logging/user/tool_calling_count.
Haz clic en Aplicar.
Si tu métrica personalizada se crea con métricas definidas por el usuario, haz lo siguiente:
Ingresa Nodo genérico en la barra de búsqueda y haz clic en Nodo genérico.
Haz clic en la categoría de métrica Métricas personalizadas y, luego, en una métrica, como Cantidad de tokens.
Haz clic en Aplicar.
En el panel, aparecerá un gráfico nuevo que mostrará tu métrica personalizada.
Puedes ajustar aún más el diseño del panel, por ejemplo:
Para mover el widget, mantén presionado el título y arrástralo a otra ubicación en el mismo panel.
Para cambiar el tamaño del widget, mantén presionada la esquina inferior derecha del widget y ajusta su tamaño.
Consulta Cómo agregar gráficos y tablas a un panel personalizado para obtener más detalles sobre cómo agregar gráficos de métricas con el Lenguaje de consulta de Monitoring (MQL) o el Lenguaje de consulta de Prometheus (PromQL), así como para tabularlas.
Si configuraste alertas personalizadas, consulta Cómo mostrar políticas de alertas y alertas en un panel para agregarlas a tu panel.