Questo documento descrive come creare metriche definite dall'utente e come scriverle dei dati delle metriche usando l'API Cloud Monitoring. Le metriche definite dall'utente utilizzano gli stessi elementi utilizzati dalla soluzione integrata Cloud Monitoring metriche usano:
- Un insieme di punti dati.
- Informazioni sul tipo di metrica, che indicano cosa rappresentano i punti dati.
- Informazioni sulle risorse monitorate, che indicano dove puntano i dati ha avuto origine.
Le metriche definite dall'utente, a volte denominate metriche personalizzate, possono essere usate allo stesso modo delle metriche integrate. Vale a dire che puoi creare grafici e avvisi per i dati delle metriche.
Le metriche basate su log sono una classe di metriche definite dall'utente, ma e crearle usando l'API Cloud Monitoring. Derivazione delle metriche basate su log i dati delle metriche provenienti dalle voci di log, ma l'API Monitoring non consente di specificare come estrarre i dati delle metriche dalle voci di log. Utilizza invece Cloud Logging per creare metriche basate su log. Quando crei basata su log, Logging crea le strutture descritte in questo documento e invia i dati delle metriche a Cloud Monitoring per te. Per informazioni sulla creazione di metriche basate su log, consulta i seguenti documenti:
Per instrumentare la tua applicazione, ti consigliamo di utilizzare una un framework di strumentazione neutrale dal fornitore e open source, come OpenTelemetry, anziché librerie client o API specifiche del fornitore e del prodotto. Per informazioni sulla strumentazione della tua applicazione, vedi Strumentazione e osservabilità.
Prima di iniziare
Per scoprire le strutture alla base di tutte le metriche, consulta Metriche, serie temporali e risorse.
Per utilizzare Cloud Monitoring, devi avere un progetto Google Cloud con e la fatturazione mensile abilitata. Se necessario:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Assicurati che l'API Monitoring sia abilitata. Per maggiori dettagli, vedi Attivazione dell'API Monitoring.
Per le applicazioni in esecuzione al di fuori di Google Cloud, Il progetto Google Cloud deve autenticare la tua applicazione. In genere, si configura l'autenticazione creando un per il tuo progetto e configurando un ambiente .
Per le applicazioni eseguite su un Amazon Elastic Compute Cloud (Amazon EC2), creare l'account di servizio per l'istanza Progetto connettore AWS.
Per informazioni sulla creazione di un account di servizio, consulta Guida introduttiva all'autenticazione.
Creare un tipo di metrica definita dall'utente
Per creare una metrica definita dall'utente, puoi definire una
Oggetto MetricDescriptor
che specifica varie informazioni sulla metrica,
o scrivi dati di metriche. Quando scrivi dati di metriche,
Monitoring crea il descrittore della metrica in base
sulla struttura dei dati che fornisci.
Per informazioni sulla progettazione di un descrittore della metrica, consulta
Descrittori delle metriche per le metriche definite dall'utente.
Creazione automatica di descrittori delle metriche
Se scrivi dati di metrica quando un descrittore della metrica per quella metrica definita dall'utente non esiste ancora, viene creato automaticamente un descrittore della metrica. Tuttavia, questo nuovo descrittore della metrica potrebbe non corrispondere esattamente a ciò che volevi. la creazione automatica dei descrittori delle metriche comporta alcune ipotesi e valori predefiniti.
Cloud Monitoring crea una nuova risorsa MetricDescriptor
quando
l'oggetto TimeSeries
incluso in una chiamata a
timeSeries.create
fa riferimento a un
Oggetto Metric
che specifica un inesistente
nome del tipo di metrica.
Cloud Monitoring utilizza le seguenti regole per compilare
MetricDescriptor
:
type
: il tipo viene copiato dall'oggettoMetric
campotype
.name
: il nome viene creato a partire dall'ID progetto nella chiamata al metodo e nella valore ditype
nell'oggettoMetric
.labels
: le etichette visualizzate nell'oggettoMetric
. Ciascuna nel nuovo descrittore della metrica ha i seguenti campi:key
: chiave di etichetta nell'oggettoMetric
.valueType
:STRING
description
: non impostato
metricKind
: il tipo di metrica è impostato suGAUGE
, a meno che non specifichi il parametrometricKind
dell'oggettoTimeSeries
. Se specifichi l'attributometricKind
, la nuova metrica ha questo tipo. Puoi specificare soloGAUGE
eCUMULATIVE
tipi.valueType
: il tipo di valore viene recuperato dal valore digitato dell'attributoPoint
in fase di scrittura. Il tipo di valore deve essereBOOL
,INT64
,DOUBLE
oDISTRIBUTION
. Quando specifichi un tipo di valore nel campo campovalueType
diTimeSeries
, deve corrispondere al tipo diPoint
.unit
: non impostatodescription
:"Auto created custom metric."
.displayName
: non impostato
In una singola chiamata a timeSeries.create
puoi:
includi più TimeSeries
che fanno riferimento allo stesso tipo di metrica inesistente. In questo caso,
le etichette nel nuovo descrittore della metrica sono costituite dall'unione di tutte le etichette
negli oggetti Metric
in tutte le serie temporali di questa chiamata a
create
.
Passaggio successivo: consulta Scrivere metriche definite dall'utente.
Creazione manuale dei descrittori delle metriche
Per creare un descrittore della metrica:
Determina la struttura del descrittore della metrica. Per assistenza nella realizzazione di questi puoi sfogliare le metriche integrate e esaminare i dati delle serie temporali:
Scegli un nome metrica per metrica definita dall'utente.
Scegli un nome visualizzato e una descrizione per la metrica. Il nome visualizzato viene utilizzato nella console Google Cloud.
Scegli uno o più progetti in cui definire la metrica definita dall'utente e scrivere i dati delle serie temporali. Quando hai bisogno della stessa metrica in più progetti, rendi uguali le definizioni della metrica in ogni progetto.
Per scrivere metriche definite dall'utente dalle risorse gestite da un account AWS, crea il descrittore della metrica Progetto connettore AWS per l'account in questione.
Determina il tipo, il tipo di valore e, facoltativamente, le unità di misura della metrica. Non tutti i tipi di valori e metriche sono supportati per metriche definite dall'utente. Per ulteriori informazioni su questi campi, vedi Tipi di valori e metriche.
Scegli le etichette della metrica (nomi, tipi di valori e descrizioni.
Determinare le risorse monitorate rispetto alle quali i dati delle metriche vengono scritto. Scegli dall'elenco seguente:
aws_ec2_instance
: Amazon EC2.dataflow_job
: del job Dataflow.gae_instance
: dell'istanza di App Engine.gce_instance
: di Compute Engine.generic_node
: Nodo di computing specificato dall'utente.generic_task
: Attività definita dall'utente.gke_container
: un'istanza di container GKE.global
: Usa questa risorsa quando non sono presenti altri tipi di risorsa adatto. Nella maggior parte dei casi d'uso,generic_node
ogeneric_task
sono scelte migliori diglobal
.k8s_cluster
: in un cluster Kubernetes.k8s_container
: container Kubernetes.k8s_node
: nodo Kubernetes.k8s_pod
: nel pod Kubernetes.
Crea un oggetto
MetricDescriptor
e poi passalo come un argomento a una chiamatametricDescriptors.create
.
Di solito è un errore chiamare
metricDescriptors.create
utilizza lo stesso tipo
come descrittore della metrica esistente. Tuttavia, se tutti i campi
il nuovo oggetto MetricDescriptor
corrisponda ai campi del
descrittore esistente, non si tratta di un errore ma non ha alcun effetto.
Nell'esempio seguente, viene creata una metrica di misurazione.
Protocollo
Per creare un descrittore della metrica, utilizza la
metricDescriptors.create
.
Puoi eseguire questo metodo utilizzando il widget Explorer API nella
pagina di riferimento del metodo. Consulta Explorer API per
ulteriori informazioni.
Di seguito sono riportati i parametri di esempio per
metricDescriptors.create
:
- name (URL):
projects/[PROJECT_ID]
Corpo della richiesta: fornisci un oggetto
MetricDescriptor
come il seguente:{ "name": "", "description": "Daily sales records from all branch stores.", "displayName": "Sales", "type": "custom.googleapis.com/stores/sales", "metricKind": "GAUGE", "valueType": "DOUBLE", "unit": "{USD}", "labels": [ { "key": "store_id", "valueType": "STRING", "description": "The ID of the store." }, ], }
Fornisci questi valori ai campi del widget, utilizzando l'ID del tuo progetto
al posto di [PROJECT_ID
]:
Fai clic sul pulsante Esegui per eseguire il metodo.
Quando crei una nuova metrica, il campo name
nel
MetricDescriptor
viene ignorato e può essere omesso. Il metodo create
restituisce
il nuovo descrittore della metrica con il campo name
compilato, che in questo
potrebbe essere il seguente:
"name": "projects/[PROJECT_ID]/metricDescriptors/custom.googleapis.com/stores/daily_sales"
Se, ad esempio, vuoi che ottieni un descrittore di una metrica, utilizza questo nome.
C#
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Consulta Risolvere i problemi relativi alle chiamate API se hai con maggiore difficoltà.
Passaggio successivo: consulta Scrivere metriche definite dall'utente.
Scrivi metriche definite dall'utente
Puoi scrivere dati solo nei tipi di metriche per le metriche definite dall'utente. Per scrivere i dati,
utilizza il metodo timeSeries.create
.
Se la serie temporale esiste,
aggiunge un nuovo punto dati alla serie temporale esistente. Quando
La serie temporale non esiste. Questo metodo la crea e aggiunge i dati.
Scrivi punti dati passando un elenco di oggetti TimeSeries
a
timeSeries.create
.
La dimensione massima dell'elenco è 200
e ogni oggetto nell'elenco deve specificare una serie temporale diversa:
- I valori dei campi
metric
eresource
identificano una specificaTimeSeries
. Questi campi rappresentano il tipo di metrica dei dati e la risorsa monitorata da cui sono stati raccolti i dati. - Ometti i campi
metricKind
evalueType
; vengono ignorati durante la scrittura e i punti dati. Ogni oggetto
TimeSeries
deve contenere un solo oggetto OggettoPoint
:- Il valore del punto e l'intervallo di tempo devono essere coerenti con la metrica
la definizione del tipo. Per informazioni sugli intervalli di tempo per
tipi di metriche, consulta
TimeInterval
. - L'intervallo di tempo del punto deve essere successivo a qualsiasi punto già presente nel serie temporali.
- L'ora di fine dell'intervallo non deve essere superiore a 25 ore nel passato. o più di cinque minuti nel futuro.
- Il valore del punto e l'intervallo di tempo devono essere coerenti con la metrica
la definizione del tipo. Per informazioni sugli intervalli di tempo per
tipi di metriche, consulta
Per scrivere più di un punto nella stessa serie temporale, utilizza un una chiamata separata al
timeSeries.create
per ogni punto. Non scrivere dati in una singola serie temporale più velocemente di un punto ogni 5 secondi. Quando aggiungi dati punta a serie temporali diverse, non ci sono limiti di frequenza.
Protocollo
Per scrivere dati delle metriche, utilizza la timeSeries.create
.
Puoi eseguire questo metodo utilizzando il widget Explorer API nella
pagina di riferimento del metodo. Consulta Explorer API
per ulteriori informazioni.
Per scrivere un punto nella metrica stores/daily_sales
creata nel
Creazione manuale dei descrittori delle metriche:
- Vai alla pagina di riferimento per
timeSeries.create
. - Fornisci i parametri seguenti al widget Explorer API.
- Fai clic sul pulsante Esegui.
Utilizza i seguenti parametri di esempio:
- nome:
projects/[PROJECT_ID]
request body (corpo della richiesta): includi un elenco di
TimeSeries
di oggetti strutturati. Nell'esempio seguente è presente una sola serie temporale nell'elenco.{ "timeSeries": [ { "metric": { "type": "custom.googleapis.com/my_metric", "labels": { "my_label": "my_value" } }, "resource": { "type": "gce_instance", "labels": { "project_id": "[PROJECT_ID]", "instance_id": "1234567890123456789", "zone": "us-central1-f" } }, "points": [ { "interval": { "endTime": "2018-06-01T10:00:00-04:00" }, "value": { "doubleValue": 123.45 } } ] } ] }
C#
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Consulta la sezione Risolvere i problemi relativi alle chiamate API se hai con maggiore difficoltà.
Elimina metriche definite dall'utente
Per eliminare una metrica definita dall'utente, elimina il descrittore della metrica. Non puoi eliminare i dati delle serie temporali archiviati nel tuo progetto Google Cloud. ma l'eliminazione del descrittore della metrica rende i dati inaccessibili. I dati scade e viene eliminata in base norme sulla conservazione dei dati.
Non puoi eliminare il descrittore della metrica per una metrica integrata.
Per eliminare il descrittore della metrica, richiama il metodo
metricDescriptors.delete
.
Protocollo
Per eliminare un descrittore della metrica, utilizza la
metricDescriptors.delete
.
Puoi eseguire questo metodo utilizzando il widget Explorer API nella
pagina di riferimento del metodo. Consulta Explorer API
per ulteriori informazioni.
Per eliminare la metrica stores/daily_sales
creata in
Creazione manuale dei descrittori delle metriche:
- Vai alla sezione
pagina di riferimento per
metricDescriptors.delete
: Fornisci il nome del descrittore della metrica al widget Explorer API:
nome:
projects/[PROJECT_ID]/metricDescriptors/custom.googleapis.com/stores/daily_sales
Fai clic sul pulsante Esegui.
C#
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Consulta la sezione Risolvere i problemi relativi alle chiamate API se hai con maggiore difficoltà.
Modificare una metrica definita dall'utente
Per modificare una metrica definita dall'utente, devi aggiornare la
MetricDescriptor
che definisce la metrica.
L'unica modifica supportata è l'aggiunta di etichette.
Per aggiungere etichette a una metrica esistente definita dall'utente, utilizza la
timeSeries.create
e includi il nuovo metodo
con i dati delle serie temporali. Le etichette vengono aggiunte alla metrica
descrittore quando le etichette che provi a scrivere sono valide e il numero totale
di etichette è inferiore a 30.
I dati delle serie temporali vengono quindi scritti come se l'etichetta fosse stata partendo dall'inizio.
Se vuoi fare di più che aggiungere nuove etichette, devi eliminare e ricreare il descrittore della metrica. In questo caso, perderai tutti i dati delle serie temporali raccolti in precedenza per il vecchio descrittore della metrica. Consulta Per saperne di più, elimina le metriche definite dall'utente.
Non puoi rinominare una metrica.
Passaggi successivi
- Visualizzare e gestire l'utilizzo delle metriche
- Elenco di metriche integrate
- Elenco delle risorse monitorate