Configura un'applicazione gRPC su Google Cloud con l'osservabilità dei microservizi

Gli strumenti di osservabilità dei microservizi ti consentono di instrumentare le applicazioni per raccogliere e presentare i dati di telemetria in Cloud Monitoring, Cloud Logging e Cloud Trace dai carichi di lavoro gRPC distribuiti su Google Cloud e altrove. L'osservabilità dei microservizi funziona con qualsiasi deployment a cui è stata concessa l'autorizzazione per accedere a Monitoring, Logging e Trace abilitando l'API Microservices.

In questo tutorial imparerai a utilizzare le funzionalità di osservabilità dei microservizi creando una semplice applicazione gRPC su Google Cloud utilizzando Compute Engine e strumentando l'applicazione con l'osservabilità dei microservizi, per visualizzarli in tempo reale in Monitoring e Logging.

Obiettivi

A livello generale, devi:

  • In qualità di sviluppatore di servizi, puoi:

    • Crea un'applicazione gRPC con il linguaggio che preferisci (C++, Go o Java).
    • Attiva la tua applicazione e controlla il plug-in di osservabilità dei microservizi.
    • Esegui il deployment dell'applicazione su una VM di Compute Engine.
  • In qualità di operatore di servizi, utilizzi i dati raccolti in vari modi:

    • Visualizza le tracce su Trace.
    • Visualizza le metriche nella dashboard di monitoraggio denominata Monitoraggio dei microservizi (gRPC).
    • Visualizza le metriche in Metrics Explorer.
    • Ispeziona le voci di log in Esplora log.

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il calcolatore prezzi.

I nuovi utenti di Google Cloud potrebbero avere diritto a una prova senza costi.

Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.

Prima di iniziare

Console

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, and Microservices API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Logging > Logs Viewer > Logs Writer, Monitoring > Monitoring Editor > Metrics Writer, Trace > Trace Admin > Trace Agent.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.

      This is typically the email address for a Google Account.

    9. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Compute Engine, and Microservices API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Logging > Logs Viewer > Logs Writer, Monitoring > Monitoring Editor > Metrics Writer, Trace > Trace Admin > Trace Agent.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.

      This is typically the email address for a Google Account.

    9. Click Done to finish creating the service account.

  10. Leggi la panoramica dell'osservabilità dei microservizi.
  11. Leggi informazioni sulle due variabili di ambiente supportate, decidi quale utilizzare e determina i valori richiesti dalla variabile di ambiente.

interfaccia a riga di comando

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  6. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  7. Abilita le API Compute Engine e Microservices:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable compute.googleapis.com microservices.googleapis.com
  8. Configura l'autenticazione:

    1. Assicurati di disporre del ruolo IAM Creazione account di servizio (roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli.
    2. Crea l'account di servizio:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Sostituisci SERVICE_ACCOUNT_NAME con un nome per il account di servizio.

    3. Concedi ruoli al account di servizio. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM: roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Sostituisci quanto segue:

      • SERVICE_ACCOUNT_NAME: il nome del account di servizio
      • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
      • ROLE: il ruolo da concedere
    4. Concedi il ruolo richiesto all'entità che collegherà il account di servizio ad altre risorse.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Sostituisci quanto segue:

      • SERVICE_ACCOUNT_NAME: il nome del account di servizio
      • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
      • USER_EMAIL: l'indirizzo email di un Account Google
  9. Installa Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  13. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  14. Abilita le API Compute Engine e Microservices:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable compute.googleapis.com microservices.googleapis.com
  15. Configura l'autenticazione:

    1. Assicurati di disporre del ruolo IAM Creazione account di servizio (roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli.
    2. Crea l'account di servizio:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Sostituisci SERVICE_ACCOUNT_NAME con un nome per il account di servizio.

    3. Concedi ruoli al account di servizio. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM: roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Sostituisci quanto segue:

      • SERVICE_ACCOUNT_NAME: il nome del account di servizio
      • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
      • ROLE: il ruolo da concedere
    4. Concedi il ruolo richiesto all'entità che collegherà il account di servizio ad altre risorse.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Sostituisci quanto segue:

      • SERVICE_ACCOUNT_NAME: il nome del account di servizio
      • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
      • USER_EMAIL: l'indirizzo email di un Account Google
  16. Leggi la panoramica dell'osservabilità dei microservizi.
  17. Leggi informazioni sulle due variabili di ambiente supportate, decidi quale utilizzare e determina i valori richiesti dalla variabile di ambiente.

Crea una VM di Compute Engine e connettiti

Segui queste istruzioni per creare e connetterti a un'istanza VM di Compute Engine. Sulla VM esegui il deployment dell'applicazione e poi la strumentazione con l'osservabilità dei microservizi.

  1. Crea un'istanza VM:

    gcloud compute instances create grpc-observability-vm \
      --image-family=debian-11 \
      --image-project=debian-cloud \
      --service-account=SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
    
  2. Connettiti all'istanza VM:

    gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm
    

Esegui il deployment dell'applicazione nella VM Compute Engine

Puoi eseguire il deployment di un'applicazione a tua scelta nella VM di Compute Engine che hai creato nel passaggio precedente, quindi saltare questo passaggio, oppure puoi utilizzare un esempio per continuare con le istruzioni nella tua lingua preferita.

C++

  1. Dopo aver eseguito la connessione all'istanza VM, esegui il seguente comando.

    sudo apt-get update -y
    sudo apt-get install -y git build-essential clang
    git clone -b v1.54.0 https://github.com/grpc/grpc.git --depth=1
    

Go

  1. Assicurati di aver installato Go.

    sudo apt-get install -y git
    sudo apt install wget
    wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz
    sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf \
    go1.20.2.linux-amd64.tar.gz
    export PATH=$PATH:/usr/local/go/bin
    
  2. Clona gli esempi di gRPC-Go.

    git clone https://github.com/grpc/grpc-go.git
    cd grpc-go/
    git checkout -b run-observability-example
    875c97a94dca8093bf01ff2fef490fbdd576373d
    

Java

  1. Dopo aver effettuato la connessione all'istanza VM, assicurati di aver installato Java 8 o versioni successive.

    sudo apt update
    sudo apt upgrade
    sudo apt install git
    sudo apt-get install -y openjdk-11-jdk-headless
    
  2. Clona il repository grpc-java.

    export EXAMPLES_VERSION=v1.54.1
    git clone -b $EXAMPLES_VERSION --single-branch --depth=1 \
    https://github.com/grpc/grpc-java.git
    

Crea il file di configurazione di gRPC Google Cloud Observability

Per attivare l'osservabilità dei microservizi sia per il server che per il client, devi utilizzare un file di configurazione di gRPC Google Cloud Observability separato. La posizione di questo file viene esportata come GRPC_GCP_OBSERVABILITY_CONFIG_FILE nei passaggi successivi. Utilizza le seguenti istruzioni su come configurare i diversi parametri nel file di configurazione.

Esempio GRPC_GCP_OBSERVABILITY_CONFIG_FILE

{
  "project_id": "your-project-here",
  "cloud_logging": {
    "client_rpc_events": [
    {
      "methods": ["google.pubsub.v1.Subscriber/Acknowledge", "google.pubsub.v1.Publisher/CreateTopic"],
      "exclude": true,
    },
    {
      "methods": ["google.pubsub.v1.Subscriber/*", "google.pubsub.v1.Publisher/*"],
      "max_metadata_bytes": 4096,
      "max_message_bytes": 4096,
    }],
    "server_rpc_events": [{
      "methods": ["*"],
      "max_metadata_bytes": 4096,
      "max_message_bytes": 4096
    }],
  },
  "cloud_monitoring": {},
  "cloud_trace": {
    "sampling_rate": 0.5,
  }
  "labels": {
    "SOURCE_VERSION": "J2e1Cf",
    "SERVICE_NAME": "payment-service-1Cf",
    "DATA_CENTER": "us-west1-a"
  }
}

Le sezioni seguenti contengono le istruzioni per attivare la raccolta dei dati nella configurazione dei singoli componenti. Se hai utilizzato l'esempio gRPC in questo tutorial, puoi utilizzare questa configurazione così com'è (dopo aver aggiornato your-project-here) o utilizzarla come modello per la tua applicazione.e un esempio che mostra le informazioni di configurazione in una variabile di ambiente.

Abilita metriche

Per attivare le metriche, aggiungi l'oggetto cloud_monitoring alla configurazione e imposta il relativo valore su {}.

Per ulteriori informazioni sulle metriche, consulta Definizioni delle metriche.

Abilita il tracciamento

Per attivare la tracciabilità:

  1. Aggiungi l'oggetto cloud_trace alla configurazione.
  2. Imposta cloud_trace.sampling_rate su 0.5, in modo da tracciare in modo casuale il 50% delle RPC.

Se prevedi di attivare la tracciabilità tra i servizi, assicurati che i servizi supportino la propagazione del contesto di traccia ricevuto dall'upstream (o avviato autonomamente) al downstream.

Per saperne di più sulla tracciabilità, consulta Definizioni di traccia.

Abilita il logging

Per attivare la registrazione:

  1. Aggiungi l'oggetto cloud_logging alla configurazione.
  2. Aggiungi un pattern a client_rpc_events e/o server_rpc_events specificando l'insieme di servizi o metodi per i quali vuoi generare la registrazione degli eventi a livello di trasporto e il numero di byte da registrare per le intestazioni e i messaggi.

Per saperne di più sul logging, consulta Definizioni dei record di log.

Instrumenta le tue applicazioni per il plug-in di osservabilità

Per instrumentare le tue applicazioni in modo che possano utilizzare il plug-in di osservabilità dei microservizi, segui le istruzioni riportate di seguito per la tua lingua preferita.

C++

Puoi utilizzare C++ con l'osservabilità dei microservizi a partire da gRPC C++ v1.54. Il repository di esempio si trova su GitHub.

  1. Il supporto dell'osservabilità è disponibile solo tramite il sistema di compilazione Bazel. Aggiungi la destinazione grpcpp_gcp_observability come dipendenza.

  2. L'attivazione dell'osservabilità dei microservizi richiede una dipendenza aggiuntiva (un modulo di osservabilità) e le seguenti modifiche al codice dei client, dei server o di entrambi i client gRPC esistenti:

    #include <grpcpp/ext/gcp_observability.h>
    
    int main(int argc, char** argv) {
      auto observability = grpc::GcpObservability::Init();
      assert(observability.ok());
      
      // Observability data flushed when object goes out of scope
    }
    

    Prima di qualsiasi operazione gRPC, inclusa la creazione di un canale, un server o credenziali, richiama quanto segue:

    grpc::GcpObservability::Init();
    

    Viene restituito absl::StatusOr<GcpObservability>, che deve essere salvato. Lo stato aiuta a determinare se l'osservabilità è stata inizializzata correttamente. L'oggetto GcpObservability associato controlla la durata dell'osservabilità e chiude e svuota automaticamente i dati di osservabilità quando escono dall'ambito.

Go

  1. I plug-in di osservabilità dei microservizi sono supportati per le versioni gRPC Go v1.54.0 e successive. Il repository di esempio si trova in GitHub.

Con il modulo Go, l'attivazione dell'osservabilità dei microservizi richiede un modulo di osservabilità e il seguente codice:

import "google.golang.org/grpc/gcp/observability"

func main() {
  ctx, cancel := context.WithTimeout(context.Background(), time.Second)
  defer cancel()
  if err := observability.Start(ctx); err != nil {
    log.Warning("Unable to start gRPC observability:", err)
  }
  defer observability.End()
  
}

La chiamata observability.Start analizza la configurazione dalle variabili di ambiente, crea gli esportatori di conseguenza e inserisce la logica di raccolta nelle connessioni client e nei server creati dopo la chiamata. La chiamataobservability.End differita pulisce le risorse e garantisce che i dati memorizzati nel buffer vengano scaricati prima della chiusura dell'applicazione.

Dopo aver aggiornato il codice dell'applicazione, esegui il comando seguente per aggiornare il file go.mod.

go mod tidy

Java

Per utilizzare l'osservabilità dei microservizi con le applicazioni Java, modifica la build in modo da includere l'artefatto grpc-gcp-observability. Utilizza gRPC versione 1.54.1 o successive.

Negli snippet di build nelle sezioni degli strumenti di build Gradle e Maven, grpcVersion è impostato sul valore 1.54.1.

Il repository di esempio si trova in GitHub.

  1. Per instrumentare correttamente le applicazioni Java per l'osservabilità dei microservizi, aggiungi il seguente codice a main().
...
import io.grpc.gcp.observability.GcpObservability;
...

// Main application class
...

public static void main(String[] args) {
...
  // call GcpObservability.grpcInit() to initialize & get observability
  GcpObservability observability = GcpObservability.grpcInit();

...
  // call close() on the observability instance to shutdown observability
  observability.close();
...
}

Tieni presente che devi chiamare GcpObservability.grpcInit() prima di creare canali o server gRPC. La funzione GcpObservability.grpcInit() legge la configurazione dell'osservabilità dei microservizi e la utilizza per configurare gli intercettori e i tracer globali necessari per le funzionalità di logging, metriche e tracciamento in ogni canale e server creato. GcpObservability.grpcInit() è thread-safe e deve essere chiamato esattamente una volta. Restituisce un'istanza di GcpObservability che devi salvare per chiamare close() in un secondo momento.

GcpObservability.close() dealloca le risorse. I canali o i server creati successivamente non eseguono alcun logging.

GcpObservability implementa java.lang.AutoCloseable, che viene chiuso automaticamente se utilizzi try-with-resource nel seguente modo:

...
import io.grpc.gcp.observability.GcpObservability;
...

// Main application class
...

public static void main(String[] args) {
...
  // call GcpObservability.grpcInit() to initialize & get observability
  try (GcpObservability observability = GcpObservability.grpcInit()) {

...
  } // observability.close() called implicitly
...
}

Utilizzare lo strumento di compilazione Gradle

Se utilizzi lo strumento di compilazione Gradle, includi quanto segue:

def grpcVersion = '1.54.1'

...

dependencies {
...
implementation "io.grpc:grpc-gcp-observability:${grpcVersion}"
...
}

Utilizza lo strumento di compilazione Maven (pom.xml)

Se utilizzi lo strumento di build Maven, includi quanto segue:

<properties>
...
<grpc.version>1.54.1</grpc.version>
...
</properties>

...

<dependencies>
...
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-gcp-observability</artifactId>
<version>${grpc.version}</version>
</dependency>
...
</dependencies>

Esegui l'applicazione

Segui le istruzioni in questa sezione solo se hai utilizzato l'esempio gRPC per il tutorial. Puoi modificare il comando run per scegliere come target il binario dell'applicazione.

Esegui server

C++

  1. Crea una sessione SSH nella VM.
  2. Esporta le variabili di ambiente. Segui i passaggi definiti sopra per creare server_config.json.

      export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
      export GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/server_config.json"
    
  3. Esegui l'applicazione server shell cd grpc tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_server

Go

  1. Crea una sessione SSH nella VM.
  2. Esporta le variabili di ambiente. Segui i passaggi definiti sopra per creare server_config.json.

    export GRPC_GCP_OBSERVABILITY_CONFIG_FILE=./server/serverConfig.json
    
  3. Esegui l'applicazione server shell go run ./server/main.go

Java

  1. Nella directory degli esempi, apri il file README e segui le istruzioni riportate nel file.
  2. Quando le istruzioni ti chiedono di aprire un'altra finestra del terminale, esegui questo comando: shell gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm

Esegui client

C++

  1. Crea un'altra sessione SSH nella VM.
  2. Esporta le variabili di ambiente. Segui i passaggi definiti sopra per creare il file client_config.json.

      export GOOGLE_CLOUD_PROJECT=$PROJECT_ID
      export GRPC_GCP_OBSERVABILITY_CONFIG_FILE="$(pwd)/examples/cpp/gcp_observability/helloworld/client_config.json"
    
  3. Esegui l'applicazione client

    cd grpc
    tools/bazel run examples/cpp/gcp_observability/helloworld:greeter_client
    

Go

  1. Crea un'altra sessione SSH nella VM.
  2. Esporta le variabili di ambiente. Utilizza i passaggi definiti sopra per creare il file client_config.json. shell export GRPC_GCP_OBSERVABILITY_CONFIG_FILE=./client/clientConfig.json
  3. Esegui l'applicazione client

    cd grpc-go/examples/features/observability
    go run ./client/main.go
    

Java

  1. Nella directory degli esempi, apri il file README e segui le istruzioni contenute nel file.
  2. Quando le istruzioni ti chiedono di aprire un'altra finestra del terminale, esegui questo comando: shell gcloud compute ssh --project=$PROJECT_ID grpc-observability-vm

Esegui la pulizia

Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Elimina il progetto

    Elimina un progetto Google Cloud :

    gcloud projects delete PROJECT_ID

Elimina singole risorse

  1. Elimina l'istanza:
    gcloud compute instances delete INSTANCE_NAME

Passaggi successivi