OpenCensus è un progetto open source gratuito la cui librerie:
- Fornire un supporto indipendente dal fornitore per la raccolta di dati di metriche e traccia in più lingue.
- Consente di esportare i dati raccolti in varie applicazioni di backend, tra cui Cloud Monitoring mediante esportatori.
Sebbene Cloud Monitoring fornisca un'API che supporta la definizione e raccogliendo metriche definite dall'utente, è un'API proprietaria di basso livello. OpenCensus fornisce un'API che segue lo stile del community linguistica, oltre a un esportatore che invia i dati delle metriche a Cloud Monitoring tramite l'API Monitoring.
OpenCensus offre anche un buon supporto per il tracciamento delle applicazioni; vedi Tracciamento OpenCensus per informazioni generali panoramica. Cloud Trace consiglia di utilizzare OpenCensus per la traccia la strumentazione di lavoro. Per raccogliere dati di metriche e di traccia dai tuoi servizi, puoi usare un'unica distribuzione di librerie. Per informazioni sull'utilizzo OpenCensus con Cloud Trace, vedi Librerie client per Trace.
Prima di iniziare
Per utilizzare Cloud Monitoring, devi avere un progetto Google Cloud con e la fatturazione mensile abilitata. Se necessario, procedi nel seguente modo:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- 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 informazioni sulla creazione di un account di servizio, consulta Guida introduttiva all'autenticazione.
Installare OpenCensus
Per utilizzare le metriche raccolte da OpenCensus nel tuo progetto Google Cloud, devi: rendi disponibili le librerie delle metriche di OpenCensus e l'esportatore di Stackdriver alla tua applicazione. L'esportatore di Stackdriver esporta le metriche le raccolte di OpenCensus nel tuo progetto Google Cloud. Puoi quindi utilizzare Cloud Monitoring per tracciare o monitorare queste metriche.
Go
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
L'utilizzo di OpenCensus richiede Go 1.11 o versioni successive. La le dipendenze vengono gestite automaticamente.Java
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Per Maven, aggiungi quanto segue all'elementodependencies
nel tuo
File pom.xml
:
Node.js
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
- Prima di installare le librerie di esportazione principali e di esportazione di OpenCensus, assicurati Avere preparato l'ambiente per lo sviluppo Node.js.
- Il modo più semplice per installare OpenCensus è con
npm:
npm install @opencensus/core npm install @opencensus/exporter-stackdriver
- Inserisci le istruzioni
require
mostrate di seguito nella parte superiore dello script principale o del punto di ingresso dell'applicazione, prima di qualsiasi altro codice:
Python
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Installa il core OpenCensus e le librerie di esportazione di Stackdriver mediante il comando seguente comando:pip install -r opencensus/requirements.txt
Il file requirements.txt
si trova nel repository GitHub per questi esempi,
python-docs-samples.
Scrivere metriche definite dall'utente con OpenCensus
La strumentazione del codice per l'utilizzo di OpenCensus per le metriche prevede tre passaggi:
- Importa le statistiche di OpenCensus e i pacchetti di esportazione di Stackdriver OpenCensus.
- Inizializza l'utilità di esportazione di Stackdriver.
- Usa l'API OpenCensus per instrumentare il tuo codice.
L'esempio seguente è un programma minimo che scrive dati delle metriche utilizzando OpenCensus. Il programma esegue un ciclo e raccoglie le misure di latenza, termina il ciclo, esporta le statistiche in Cloud Monitoring ed esce:
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.
Python
Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Il programma crea una vista OpenCensus
che si chiama task_latency_distribution
. Questa stringa diventa parte della
nome del
quando viene esportato in Cloud Monitoring. Consulta la sezione Recupero della metrica in corso...
descrittori per vedere come viene realizzata la vista OpenCensus
come descrittore della metrica di Cloud Monitoring.
Puoi quindi utilizzare il nome della vista come stringa di ricerca quando selezioni una metrica
per creare un grafico.
-
Nella console Google Cloud, vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nell'elemento Metrica, espandi il menu Seleziona una metrica,
inserisci
OpenCensus/task_latency_distribution
nella barra dei filtri, poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:- Nel menu Risorse attive, seleziona la risorsa monitorata. Se esegui il programma in un ambiente locale, e seleziona Globale.
- Nel menu Categorie di metriche attive, seleziona Personalizzata.
- Nel menu Metriche attive, seleziona Distribuzione della latenza delle attività.
- Fai clic su Applica.
Il seguente screenshot mostra le serie temporali raccolte dopo l'esecuzione in un ambiente locale:
Ogni barra della mappa termica rappresenta un'esecuzione del programma e i colori i componenti di ogni barra rappresentano i bucket nella distribuzione della latenza.
Leggere le metriche OpenCensus in Cloud Monitoring
Utilizzi metriche definite dall'utente, incluse quelle scritte da OpenCensus, come e metriche integrate. Potete creare grafici, impostare avvisi, leggere per poi monitorarli.
Questa sezione illustra come utilizzare Explorer API per per leggere i dati delle metriche. Per informazioni su come leggere i dati delle metriche utilizzando l'API Cloud Monitoring o utilizzando librerie client, consulta i seguenti documenti:
- Elenco di metriche e tipi di risorse spiega come elencare ed esaminare i tipi di risorse e di metriche nel tuo sistema.
- Istruzioni per il recupero dei dati delle serie temporali come recuperare i dati delle serie temporali dalle metriche utilizzando l'API Monitoring.
Ad esempio, lo screenshot mostrato nella sezione precedente è da Metrics Explorer. Quando utilizzi gli strumenti per la creazione di grafici, ti consigliamo di: utilizza il nome della vista OpenCensus per filtrare l'elenco delle metriche. Per ulteriori informazioni, vedi Seleziona le metriche quando utilizzi Esplora metriche.
Recupera i descrittori delle metriche
Per recuperare i dati delle metriche utilizzando direttamente l'API Monitoring,
devi conoscere i nomi di Cloud Monitoring
in cui sono state esportate le metriche di OpenCensus. Puoi determinare questi nomi
recuperando i descrittori delle metriche creati dall'esportatore e quindi
esaminando il campo type
. Per maggiori dettagli sui descrittori delle metriche, consulta
MetricDescriptor
Per visualizzare i descrittori delle metriche creati per le metriche esportate:
- Vai alla pagina di riferimento
metricDescriptors.list
. Nel widget Prova questa API della pagina di riferimento, completa quanto segue. campi:
Inserisci il nome del progetto nel campo
name
. Utilizza la la seguente struttura del nomeprojects/PROJECT_ID
. Questo documento utilizza un progetto con IDa-gcp-project
.Inserisci un filtro nel campo
filter
. Esistono molte metriche in un progetto. L'applicazione di filtri ti consente di eliminarli descrittori che non sono interessanti.Ad esempio, perché il nome della vista OpenCensus diventa parte nome della metrica, puoi aggiungere un filtro come questo:
metric.type=has_substring("task_latency_distribution")
La chiave
metric.type
è un campo di un tipo incorporato in una serie temporali. Per informazioni dettagliate, visita la paginaTimeSeries
.Fai clic su Execute (Esegui).
Di seguito viene mostrato il descrittore della metrica restituito:
{ "metricDescriptors": [ { "name": "projects/a-gcp-project/metricDescriptors/custom.googleapis.com/opencensus/task_latency_distribution", "labels": [ { "key": "opencensus_task", "description": "Opencensus task identifier" } ], "metricKind": "CUMULATIVE", "valueType": "DISTRIBUTION", "unit": "ms", "description": "The distribution of the task latencies", "displayName": "OpenCensus/task_latency_distribution", "type": "custom.googleapis.com/opencensus/task_latency_distribution" } ] }
Questa linea nel descrittore della metrica indica il nome del tipo di metrica In Cloud Monitoring:
"type": "custom.googleapis.com/opencensus/task_latency_distribution"
Ora hai le informazioni necessarie per recuperare manualmente i dati
associati al tipo di metrica. Anche il valore del campo type
è
mostrata nella console Google Cloud quando crei un grafico della metrica.
Recupera i dati delle metriche
Per recuperare manualmente i dati delle serie temporali da un tipo di metrica:
- Vai alla
timeSeries.list
pagina di riferimento. Nel widget Prova questa API della pagina di riferimento, completa quanto segue. campi:
- Inserisci il nome del progetto nel campo
name
. Utilizza la la seguente struttura del nomeprojects/PROJECT_ID
. Nel campo
filter
, inserisci il seguente valore:metric.type="custom.googleapis.com/opencensus/task_latency_distribution"
Inserisci i valori nei campi
interval.startTime
einterval.endTime
. Questi valori devono essere inseriti come timestamp, ad esempio2018-10-11T15:48:38-04:00
. Assicurati che il valorestartTime
sia precedente rispetto al valoreendTime
.Fai clic sul pulsante Esegui.
- Inserisci il nome del progetto nel campo
Di seguito viene mostrato il risultato di uno di questi recuperi:
{ "timeSeries": [ { "metric": { "labels": { "opencensus_task": "java-3424@docbuild" }, "type": "custom.googleapis.com/opencensus/task_latency_distribution" }, "resource": { "type": "gce_instance", "labels": { "instance_id": "2455918024984027105", "zone": "us-east1-b", "project_id": "a-gcp-project" } }, "metricKind": "CUMULATIVE", "valueType": "DISTRIBUTION", "points": [ { "interval": { "startTime": "2019-04-04T17:49:34.163Z", "endTime": "2019-04-04T17:50:42.917Z" }, "value": { "distributionValue": { "count": "100", "mean": 2610.11, "sumOfSquaredDeviation": 206029821.78999996, "bucketOptions": { "explicitBuckets": { "bounds": [ 0, 100, 200, 400, 1000, 2000, 4000 ] } }, "bucketCounts": [ "0", "0", "1", "6", "13", "15", "44", "21" ] } } } ] }, [ ... data from additional program runs deleted ...] ] }
I dati delle metriche restituiti includono quanto segue:
- Informazioni sulla risorsa monitorata su cui sono stati raccolti i dati.
OpenCensus può rilevare automaticamente
gce_instance
,k8s_container
, eaws_ec2_instance
risorse monitorate. Questi dati provengono da un programma su un'istanza Compute Engine. Per informazioni sull'utilizzo di altre le risorse monitorate, Imposta la risorsa monitorata per l'esportatore. - Descrizione del tipo di metrica e del tipo di valori.
- I punti dati effettivi raccolti nell'intervallo di tempo richiesto.
Rappresentazione delle metriche di OpenCensus da parte di Monitoring
È supportato l'uso diretto dell'API Cloud Monitoring per le metriche definite dall'utente. viene descritto Crea metriche definite dall'utente con l'API. Infatti, l'esportatore OpenCensus per Cloud Monitoring utilizza questa API per te. Questa sezione fornisce alcune informazioni su come Cloud Monitoring rappresenta le metriche scritte da OpenCensus.
I costrutti utilizzati dall'API OpenCensus sono diversi da quelli utilizzati Cloud Monitoring, così come alcuni usi della terminologia. Dove Cloud Monitoring si riferisce a "metriche", OpenCensus a volte si riferisce "stats". Ad esempio, il componente di OpenCensus che invia delle metriche in Cloud Monitoring è chiamato "esportatore di statistiche per Stack Drdiver".
Per una panoramica del modello OpenCensus per le metriche, consulta Metriche di OpenCensus.
I modelli dei dati per le statistiche OpenCensus e le metriche di Cloud Monitoring non in una mappatura 1:1. Molti degli stessi concetti esistono in entrambi i casi, non sono direttamente intercambiabili.
Una vista OpenCensus è analoga a
MetricDescriptor
nell'API Monitoring. Una vista descrive come raccogliere e aggregare le singole misurazioni. Tag sono incluse in tutte le misurazioni registrate.Un tag OpenCensus è una coppia chiave-valore. Un tag OpenCensus corrisponde in generale in
LabelDescriptor
nell'API Monitoring. I tag ti consentono di acquisire informazioni contestuali che puoi utilizzare per filtrare e raggruppare le metriche.Una misura OpenCensus descrive i dati delle metriche da registrare. Un'aggregazione OpenCensus è una funzione applicata ai dati utilizzati: riassumilo. Queste funzioni sono utilizzate nell'esportazione per determinare
MetricKind
,ValueType
e unità riportato nel descrittore della metrica di Cloud Monitoring.Una misurazione OpenCensus è un punto dati raccolto. Le misurazioni devono essere aggregate in visualizzazioni. Altrimenti, il privato le misurazioni vengono eliminate. Una misurazione OpenCensus è analoga a una
Point
nell'API Monitoring. Quando le misurazioni sono aggregate in visualizzazioni, i dati aggregati vengono archiviati come dati di visualizzazione, in modo analogo aTimeSeries
nell'API Monitoring.
Passaggi successivi
OpenCensus offre la documentazione di riferimento autorevole per l'API delle metriche e per l'esportatore di Stackdriver. Le seguenti fornisce i link ai seguenti documenti di riferimento:
Lingua Documentazione di riferimento per le API Documentazione dell'esportatore Guida rapida Vai API Go Esportatori di statistiche e tracce Metriche Java API Java Esportazione delle statistiche Metriche NodeJS API NodeJS Esportazione delle statistiche Metriche Python API Python Esportazione delle statistiche Metriche