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 poi 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 del servizio, 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. 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.

    Abilita le API

  5. 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.
  6. Nella console Google Cloud vai a Crea service account.

    Vai a Crea service account
  7. Seleziona il progetto.
  8. Nel campo Nome service account, inserisci un nome. La console Google Cloud compila il campo ID service account in base a questo nome.

    Nel campo Descrizione service account, inserisci una descrizione. Ad esempio, Service account for quickstart.

  9. Fai clic su Crea e continua.
  10. Concedi i seguenti ruoli al account di servizio: Logging > Visualizzatore log > Writer log, Monitoring > Editor Monitoring > Writer metriche, Trace > Amministratore Trace > Agente Trace.

    Per concedere un ruolo, trova l'elenco Seleziona un ruolo, quindi seleziona il ruolo.

    Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.

  11. Fai clic su Continua.
  12. Nel campo Ruolo degli utenti del service account, inserisci l'identificatore dell'entità che collegherà il account di servizio ad altre risorse, ad esempio le istanze Compute Engine.

    In genere si tratta dell'indirizzo email di un Account Google.

  13. Fai clic su Fine per completare la creazione del service account.

  • 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

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

  • 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.

    Abilita le API

  • 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.
  • Nella console Google Cloud vai a Crea service account.

    Vai a Crea service account
  • Seleziona il progetto.
  • Nel campo Nome service account, inserisci un nome. La console Google Cloud compila il campo ID service account in base a questo nome.

    Nel campo Descrizione service account, inserisci una descrizione. Ad esempio, Service account for quickstart.

  • Fai clic su Crea e continua.
  • Concedi i seguenti ruoli al account di servizio: Logging > Visualizzatore log > Writer log, Monitoring > Editor Monitoring > Writer metriche, Trace > Amministratore Trace > Agente Trace.

    Per concedere un ruolo, trova l'elenco Seleziona un ruolo, quindi seleziona il ruolo.

    Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.

  • Fai clic su Continua.
  • Nel campo Ruolo degli utenti del service account, inserisci l'identificatore dell'entità che collegherà il account di servizio ad altre risorse, ad esempio le istanze Compute Engine.

    In genere si tratta dell'indirizzo email di un Account Google.

  • Fai clic su Fine per completare la creazione del service account.

  • Leggi la panoramica dell'osservabilità dei microservizi.
  • 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à ilaccount di serviziot 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à ilaccount di serviziot 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.