Questa pagina descrive come utilizzare le metriche integrate, le metriche personalizzate e gli avvisi per monitorare gli agenti in Vertex AI Agent Engine.
Panoramica
Puoi utilizzare Vertex AI Agent Engine utilizzando Cloud Monitoring senza alcuna configurazione o configurazione aggiuntiva. Le metriche dell'agente integrate vengono raccolte e visualizzate automaticamente nelle pagine di Cloud Monitoring della console.Google Cloud
Metriche integrate supportate
Le seguenti metriche dell'agente sono supportate e associate alla risorsa monitorata di Vertex AI Agent Engine
aiplatform.googleapis.com/ReasoningEngine
:
- Conteggio delle richieste
- Latenze di richiesta
- Tempo di allocazione della CPU del container
- Ora di allocazione della memoria del container
Consulta l'elenco completo delle metriche di AI Platform per ulteriori dettagli su tipi di metriche, unità, etichette, nonché latenza e periodo di campionamento.
Visualizzare le metriche di un agente
Puoi visualizzare le metriche integrate dell'agente nella Google Cloud console utilizzando Metrics Explorer:
Per ottenere l'autorizzazione per visualizzare le metriche in Metrics Explorer, chiedi all'amministratore di concederti il ruolo Visualizzatore Monitoring (
roles/monitoring.viewer
) nel progetto.Vai a Esplora metriche nella Google Cloud console:
Selezionare il tuo progetto Google Cloud .
Fai clic su Seleziona una metrica per aprire una barra di ricerca.
Inserisci Vertex AI Reasoning Engine nella barra di ricerca e fai clic su Vertex AI Reasoning Engine.
Fai clic sulla categoria di metriche Reasoning_engine e poi su una metrica, ad esempio Numero richieste.
Facoltativamente, imposta filtri delle etichette aggiuntivi, l'elemento di aggregazione e modifica l'intervallo di tempo.
Per impostazione predefinita, i grafici in Metrics Explorer per la metrica Conteggio richieste allineano i punti dati a un intervallo di tempo predefinito e li tracciano come richieste al secondo (una metrica di frequenza).
Eseguire query sulle metriche per un agente
Puoi anche eseguire query sulle metriche tramite Monitoring Query Language (MQL), Prometheus Query Language (PromQL) o API Cloud Monitoring v3. MQL e PromQL offrono più opzioni per il filtraggio, l'aggregazione e la trasformazione delle metriche, mentre l'API Cloud Monitoring consente di elencare e eseguire query in modo programmatico su tutti i punti dati non elaborati.
Esegui query sulle metriche con MQL o PromQL
Puoi utilizzare MQL o PromQL per allineare e aggregare i punti dati con un intervallo di tempo personalizzato e tracciare i punti dati trasformati come conteggio delle richieste assoluto (anziché richieste al secondo):
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]
)
Puoi eseguire query sul tasso di errori calcolando il rapporto tra le richieste etichettate con determinati codici di risposta di errore (ad es. 500
) e il numero totale di richieste (percentuale di richieste non riuscite):
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]
)
Per le best practice e le limitazioni relative alle metriche relative ai rapporti, consulta Informazioni sui rapporti delle metriche. Per un esempio di come impostare un avviso per la metrica del tasso di errore, consulta Criteri di esempio in JSON.
Esegui query sulle metriche con l'API Cloud Monitoring
Puoi utilizzare l'API Cloud Monitoring per:
Ottieni la definizione della risorsa monitorata di Vertex AI Agent Engine
Elenca le definizioni delle metriche dell'agente disponibili
Esegui query sui dati delle serie temporali per
request_count
Tutte le metriche dell'agente sono associate alla risorsa monitorata dall'Agent Engine
aiplatform.googleapis.com/ReasoningEngine
.
Puoi richiamare queste API tramite Explorer API, librerie client specifiche per il linguaggio o la riga di comando. Consulta la documentazione per leggere le metriche tramite Explorer API e le librerie client. Gli esempi riportati di seguito mostrano l'utilizzo nella riga di comando, in particolare lo strumento curl
.
Ottenere la definizione della risorsa monitorata del motore dell'agente
Il seguente comando recupera la definizione della risorsa monitorata utilizzando projects.monitoredResourceDescriptors
, nonché tutte le etichette disponibili che possono essere utilizzate per il filtro:
gcurl https://monitoring.googleapis.com/v3/projects/PROJECT_ID/monitoredResourceDescriptors/aiplatform.googleapis.com/ReasoningEngine
Le etichette devono includere resource_container
, location
e
reasoning_engine_id
.
Elenca le definizioni delle metriche dell'agente disponibili
Il seguente comando utilizza projects.metricDescriptors
per recuperare tutte le metriche e i filtri delle etichette per Agent Engine:
gcurl https://monitoring.googleapis.com/v3/projects/PROJECT_ID/metricDescriptors?filter='metric.type=starts_with("aiplatform.googleapis.com/reasoning_engine")'
Il risultato deve includere la definizione delle seguenti metriche, nonché le relative etichette specifiche:
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
Esegui query sui dati delle serie temporali per request_count
Puoi utilizzare projects.timeSeries.list
insieme a parametri come interval
, filter
e
aggregation
per eseguire query sui dati delle serie temporali.
L'esempio seguente mostra come eseguire query sui punti dati non elaborati per la metrica request_count
per un'istanza dell'agente specifica durante una finestra temporale specifica:
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'
Sostituisci quanto segue:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- RESOURCE_ID: l'ID istanza del motore agente. Questa operazione non è sempre obbligatoria. Puoi eseguire query su più istanze di Agent Engine all'interno dello stesso project.
interval.startTime
einterval.endTime
: inizio (incluso) e fine (escluso) dell'intervallo di tempo, in formato RFC 3339. Ad esempio,"2025-03-26T11:22:33Z"
per il fuso orario UTC (Coordinated Universal Time) e"2025-03-26T11:22:33-08:00"
per il fuso orario PST (Pacific Standard Time). Consulta la definizione completa e altri esempi nella RFC 3339.
Dovresti ricevere una risposta simile alla seguente:
{
"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"
}
Per ulteriori dettagli sul formato della risposta, consulta
projects.timeSeries.list
.
Creare metriche personalizzate per un agente
Se le metriche dell'agente integrate non coprono il tuo caso d'uso specifico, puoi definire metriche personalizzate. Puoi creare metriche personalizzate utilizzando i seguenti metodi:
Metriche basate su log: osserva tendenze e schemi ricorrenti in un volume elevato di voci di log.
Metriche definite dall'utente: metriche non definite da Google Cloud, ad esempio l'acquisizione di dati specifici dell'applicazione o dei dati di sistema lato client.
Metriche basate su log
I passaggi che seguono mostrano come creare e utilizzare una metrica basata su log (tool_calling_count
) per un flusso di lavoro di esempio in cui più agenti chiamano più strumenti e vuoi contare le chiamate degli strumenti:
Specifica lo strumento per scrivere una voce di log ogni volta che viene chiamato. Ad esempio,
"tool-\<tool-id\> invoked by agent-\<agent-id\>"
.Crea una nuova metrica basata su log di tipo contatore tramite la Google Cloud console:
Vai alla pagina Metriche basate su log nella Google Cloud console:
Nella sezione Metriche definite dall'utente, fai clic su Crea metrica. Viene visualizzato il riquadro Crea metrica basata su log.
Per Tipo di metrica, seleziona Contatore.
Nella sezione Dettagli, inserisci il nome della metrica basata su log. Ad esempio,
tool_calling_count
. Se vuoi, inserisci Descrizione e Unità.Per la sezione Selezione filtro:
Nell'elenco a discesa Seleziona il bucket di progetto o di log, seleziona Log di progetto.
Nel campo Crea filtro, inserisci il filtro dei log utilizzando il linguaggio di query di log. Ad esempio:
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
Per la sezione Etichette, aggiungi due nuove etichette facendo clic sul pulsante Aggiungi etichetta.
Per la prima etichetta:
Nel campo Nome etichetta, inserisci
tool
.Nel campo Nome campo, inserisci
textPayload
.Nel campo Espressione regolare, inserisci
(tool-\d+) invoked by agent-\d+
.
Per la seconda etichetta:
Nel campo Nome etichetta, inserisci
agent
.Nel campo Nome campo, inserisci
textPayload
.Nel campo Espressione regolare, inserisci
tool-\d+ invoked by (agent-\d+)
.
- Fai clic su Fine.
Fai clic su Crea metrica.
Per visualizzare la metrica
tool_calling_count
e i relativi log associati, procedi nel seguente modo nella console: Google CloudVai alla pagina Esplora metriche nella Google Cloud console:
Fai clic su Seleziona una metrica per aprire una barra di ricerca.
Inserisci Vertex AI Reasoning Engine nella barra di ricerca e fai clic su Vertex AI Reasoning Engine.
Fai clic sulla categoria di metriche Metriche basate su log, quindi su Logging/user/tool_calling_count. Se necessario, modifica l'intervallo di tempo.
(Facoltativo) Filtra in base alle etichette
tool
eagent
.Per ottenere il conteggio totale delle invocazioni di uno strumento specifico per tutti gli agenti, imposta l'etichetta del filtro
tool
con il valore dell'ID dello strumento.Per ottenere il conteggio totale delle invocazioni per un agente specifico per tutti gli strumenti, imposta l'etichetta del filtro
agent
con il valore dell'ID agente.
Se vuoi, imposta Sommario per su
tool
oagent
per ottenere il conteggio totale suddiviso per diversi strumenti o agenti.
Consulta Logging an agent (Eseguire il logging di un agente) per istruzioni su come scrivere i log dell'agente e consulta la Panoramica delle metriche basate su log per ulteriori dettagli sulle metriche basate su log.
Metriche definite dall'utente
I passaggi che seguono mostrano come creare e utilizzare una metrica definita dall'utente (token_count
) per un flusso di lavoro di esempio in cui più agenti chiamano più modelli e vuoi calcolare il conteggio totale dei token consumati (supponendo che tu monitori il numero di token dall'avvio dell'applicazione per ogni agente di chiamata e modello di destinazione):
Definisci il tipo di metrica personalizzata chiamando
projects.metricDescriptors.create
con i seguenti parametri:name
: una stringa URL, ad esempioprojects/PROJECT_ID
Request body
: un oggettoMetricDescriptor
:{ "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 nuova metrica
token_count
viene creata con il tipoCumulative
, che rappresenta il numero totale di token dall'avvio dell'applicazione. Per ulteriori dettagli sulle metricheCumulative
, consulta la sezione Tipi e tipi di metriche. Le etichettemodel
eagent
rappresentano il nome del modello linguistico di grandi dimensioni (LLM) di destinazione e dell'agente invocante.
Puoi trovare la metrica
token_count
in Esplora metriche:- Vai alla pagina Esplora metriche nella Google Cloud console:
Fai clic su Seleziona una metrica per aprire una barra di ricerca.
Inserisci Nodo generico nella barra di ricerca e fai clic su Metriche personalizzate.
Fai clic su Conteggio token.
Scrivi i punti dati nella nuova metrica chiamando
projects.timeSeries.create
con i seguenti parametri:name
: una stringa URL, ad esempioprojects/PROJECT_ID
Request body
: un elenco di oggettiTimeSeries
:{ "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 volta caricati i punti dati tramite l'API Cloud Monitoring, puoi visualizzare la nuova metrica
token_count
tramite la console: Google CloudVai alla pagina Esplora metriche nella Google Cloud console:
Fai clic su Seleziona una metrica per aprire una barra di ricerca.
Inserisci Nodo generico nella barra di ricerca e fai clic su Metriche personalizzate.
Fai clic su Conteggio token. Modifica l'intervallo di tempo e configura i valori delle etichette per
model
oagent
, se necessario.
Creare avvisi per un agente
Puoi utilizzare le metriche in combinazione con gli avvisi. Per ulteriori dettagli, consulta la Panoramica degli avvisi.
L'esempio seguente mostra come creare un avviso di soglia per la metrica request_latencies
in modo da ricevere notifiche quando la latenza supera un valore predefinito per una durata specificata:
Vai alla pagina Avvisi nella Google Cloud console:
Fai clic su Crea criterio. Viene visualizzata la pagina Crea criterio di avviso.
In Modalità di configurazione dei criteri, seleziona Generatore.
Nel menu a discesa Seleziona una metrica, seleziona
Vertex AI Reasoning Engine
->reasoning_engine
->Request Latency
.Nella sezione Aggiungi filtri, se vuoi, configura i filtri (ad esempio
reasoning_engine_id
,response_code
).Nella sezione Trasforma i dati, imposta Finestra mobile e Funzione finestra mobile su valori come
5min
e99th percentile
(monitora il 99° percentile della latenza della richiesta durante il periodo di allineamento di 5 minuti).Fai clic su Avanti.
Nella sezione Configurare l'attivatore dell'avviso, segui questi passaggi:
Seleziona Soglia per Tipi di condizione.
Seleziona un attivatore di avvisi, ad esempio Qualsiasi violazione della serie temporale.
Seleziona una Posizione soglia, ad esempio Sopra la soglia.
Inserisci un valore di soglia, ad esempio
5000ms
.Fai clic su Avanti.
Nella sezione Configura le notifiche e finalizza l'avviso, segui questi passaggi:
Seleziona uno o più canali di notifica. Per ulteriori dettagli, consulta la sezione Gestire i canali di notifica.
(Facoltativo) Configura l'oggetto della notifica, la durata della chiusura automatica degli incidenti, le etichette delle applicazioni, le etichette delle norme, il livello di gravità e la documentazione aggiuntiva.
Imposta il nome del criterio nella sezione Assegna un nome alla policy di avviso, ad esempio
latency-99p-alert
.Fai clic su Crea criterio.
In caso di incidente, consulta Incidenti per i criteri di avviso basati su metriche per saperne di più su come confermare e esaminare l'incidente e disattivare l'avviso.
Puoi trovare altri esempi di avvisi in Criteri di esempio in JSON.
Monitorare le metriche di un agente
Puoi utilizzare la dashboard Panoramica dell'agente Vertex AI per monitorare l'integrità operativa e le prestazioni dei tuoi agenti.
Visualizzare la dashboard predefinita
Vai alla pagina Dashboard nella Google Cloud console:
Selezionare il tuo progetto Google Cloud .
Nel riquadro Le mie dashboard, aggiungi il filtro
Name:Vertex AI Agent Engine Overview
.Fai clic su Panoramica di Vertex AI Agent Engine per visualizzare la dashboard dell'agente predefinita.
Personalizzare la dashboard predefinita
La dashboard predefinita contiene solo le metriche predefinite dell'agente. Per aggiungere le tue metriche personalizzate alla dashboard, segui i passaggi riportati di seguito per copiare e personalizzare la dashboard predefinita:
Fai clic su Copia dashboard. Nella finestra di dialogo Copia dashboard, fai clic su Copia. Viene aperta la copia della dashboard. Puoi trovare la copia della dashboard anche nel riquadro Le mie dashboard, nella categoria Personalizzata.
Nella copia della dashboard, segui questi passaggi per aggiungere una metrica:
Fai clic su Aggiungi widget. Viene visualizzato il riquadro laterale Aggiungi widget.
Per Dati, seleziona Metrica. Viene visualizzato il riquadro laterale Configura widget.
Fai clic su Seleziona una metrica per aprire una barra di ricerca.
Se la metrica personalizzata viene creata utilizzando metriche basate su log:
Inserisci Vertex AI Reasoning Engine nella barra di ricerca e fai clic su Vertex AI Reasoning Engine.
Fai clic sulla categoria di metriche Metriche basate su log, quindi su una metrica, come Logging/user/tool_calling_count.
Fai clic su Applica.
Se la metrica personalizzata viene creata utilizzando metriche definite dall'utente:
Inserisci Nodo generico nella barra di ricerca e fai clic su Nodo generico.
Fai clic sulla categoria di metriche Metriche personalizzate, poi su una metrica, ad esempio Conteggio token.
Fai clic su Applica.
Nella dashboard viene visualizzato un nuovo grafico che mostra la metrica personalizzata.
Puoi modificare ulteriormente il layout della dashboard, ad esempio:
Sposta il widget tenendo premuto il titolo e trascinandolo in un'altra posizione nella stessa dashboard.
Ridimensiona il widget tenendo premuto l'angolo in basso a destra e regolane le dimensioni.
Per ulteriori dettagli sull'aggiunta di grafici delle metriche utilizzando Monitoring Query Language (MQL) o Prometheus Query Language (PromQL), nonché sulla tabulazione delle metriche, consulta Aggiungere grafici e tabelle a una dashboard personalizzata.
Se hai configurato avvisi personalizzati, consulta Visualizzare criteri e avvisi in una dashboard per aggiungerli alla tua dashboard.