Definisci i job di analisi che utilizzano Google Cloud Observability

Questo documento descrive come configurare l'analisi della pipeline di distribuzione se utilizzi Google Cloud Observability come sistema di monitoraggio.

Se utilizzi un altro provider di monitoraggio, devi definire un'analisi personalizzata, che include la creazione di un container per l'inserimento e la valutazione di metriche e altri dati del provider.

Prima di iniziare

  1. Accedi al tuo Account Google.

    Se non ne hai già uno, registrati per creare un nuovo account.

  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. Verifica di disporre delle autorizzazioni necessarie per completare questa guida.

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

  7. Abilita le API Compute Engine e Cloud Deploy:

    Ruoli richiesti per abilitare le API

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

    gcloud services enable clouddeploy.googleapis.com  compute.googleapis.com
  8. Installa Google Cloud CLI.

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

  10. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  11. Verifica di disporre delle autorizzazioni necessarie per completare questa guida.

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

  13. Abilita le API Compute Engine e Cloud Deploy:

    Ruoli richiesti per abilitare le API

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

    gcloud services enable clouddeploy.googleapis.com  compute.googleapis.com

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e utilizzare i job di analisi, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'account del tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per assicurarti che il account di servizio Cloud Deploy disponga delle autorizzazioni necessarie per creare e utilizzare le automazioni, chiedi all'amministratore di concedere i seguenti ruoli IAM al account di servizio Cloud Deploy nel tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche assegnare al account di servizio Cloud Deploy le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Configurare l'analisi in Cloud Deploy

La configurazione dell'analisi del deployment prevede i seguenti passaggi:

  1. Definisci uno o più criteri di avviso.

  2. Configura un job di analisi nella pipeline di distribuzione.

  3. Esegui la pipeline per eseguire l'analisi.

Definire i criteri di avviso

Definisci i criteri di avviso per ricevere le metriche da Google Cloud Observability. Un criterio di avviso di Google Cloud Observability descrive quando e come vuoi ricevere una notifica quando i dati di monitoraggio soddisfano i criteri specificati.

L'analisi di Cloud Deploy utilizza questi avvisi per intraprendere azioni in base alle circostanze indicate dagli avvisi.

Ad esempio, puoi configurare una criterio di avviso per la tua applicazione in produzione in modo da inviare un avviso se la latenza della risposta HTTP è troppo elevata e, in base a questo avviso, il job di analisi può attivare un' repairRolloutRule automazione per eseguire il rollback della release.

In alternativa, puoi creare un criterio di avviso simile per l'applicazione di cui hai eseguito il deployment nell'ambiente di staging e, se non viene attivato alcun avviso durante la durata del job di analisi, il job può attivare un'promoteReleaseRule automazione per promuovere la release in produzione.

Creare l'analisi

Per creare un job di analisi per la pipeline di distribuzione dell'applicazione, configura l'analisi all'interno della configurazione della pipeline, quindi applica il file di configurazione.

Configurare un job di analisi

Questa sezione descrive come configurare un job di analisi di Cloud Deploy per l'utilizzo con Google Cloud Observability.

Il job di analisi viene configurato come parte della definizione della pipeline di distribuzione, all'interno di una sezione strategy. Può essere all'interno di qualsiasi strategia, canary o standard. Se vuoi configurare l'analisi per fase, utilizza un canary personalizzato (strategy.canary.customCanaryDepolyment.phaseConfigs.phaseId.analysis).

Un job di analisi è costituito dai seguenti elementi:

  • Una durata

    Questa durata specifica per quanto tempo viene eseguito il job di analisi. Se la durata scade e non rileva avvisi da Google Cloud Observability, l'analisi viene considerata riuscita e il rollout continua.

  • Uno o più controlli, corrispondenti ai criteri di avviso nel sistema di monitoraggio

    Ogni controllo include quanto segue:

    • Un ID

    • Uno o più criteri di avviso

    Ovvero, riferimenti a uno o più criteri di avviso di Google Cloud Observability.

    • Una o più etichette, utilizzate per identificare una criterio di avviso specifica. Poiché un criterio di avviso di Google Cloud Observability può monitorare molte applicazioni, queste etichette ci consentono di limitare il controllo a una o più applicazioni specifiche.

    Tieni presente che puoi utilizzare i parametri di sistema come chiavi per le etichette qui.

Di seguito è riportata la sintassi per la configurazione di un job di analisi quando si utilizza una strategia di deployment standard:


strategy:
  standard:
    analysis:
      duration: DURATION
      googleCloud:
        alertPolicyChecks:
        - id: CHECK_ID
          alertPolicies:
          - [ALERT_POLICY_ID]
          labels:
            [KEY: VALUE]

Dove:

  • DURATION

    Indica la durata, in secondi, di esecuzione del job di analisi. Al termine della durata, il job viene completato. Se l'analisi non riesce (il container restituisce un codice di uscita diverso da zero), il job termina (FAILED) prima della scadenza della durata.

  • CHECK_ID

    È l'ID di un singolo controllo nell'analisi. Ogni ID deve essere univoco all'interno di questo job di analisi. Puoi avere uno o più controlli in un job di analisi.

  • ALERT_POLICY_ID

    È l'ID criterio per il criterio di avviso di Google Cloud Observability che stai utilizzando per il controllo. Puoi trovare l'ID criterio di avviso eseguendo gcloud monitoring policies list. Ti serve l'ID completo, che ha il seguente aspetto:

    projects/project-redacted/alertPolicies/01234567890123456789

    È possibile che l'identificatore restituito includa /conditions/13842666848149128276 dopo l'ID criterio. Non includerlo come parte dell'ID criterio.

  • KEY e VALUE

    Sono una coppia chiave-valore per un'etichetta, da utilizzare per considerare solo avvisi specifici. Ad esempio, puoi utilizzare un'etichetta in modo che un controllo prenda in considerazione solo gli avvisi relativi a un workload specifico.

    Puoi utilizzare i parametri di sistema per i valori qui.

    Ecco un esempio che utilizza un parametro di sistema:

    labels:
     service_name: '${{render.metadata.cloud_run.service.name}}'
    

Questa configurazione crea un job di analisi. Sebbene siano presenti più controlli, questa configurazione crea un solo job.

Se nessuno dei criteri di avviso configurati invia avvisi, il job viene completato e il rollout continua. Se un criterio attiva un avviso, il job si interrompe con lo stato FAILED, e il rollout non riesce (con lo stato FAILED, a meno che tu non scelga di ignorare l'errore del job).

Applicare il file di configurazione della pipeline di distribuzione

Per creare una pipeline di distribuzione con il job di analisi, applica il file di configurazione utilizzando il seguente comando:

gcloud deploy apply FILE \
       --region=REGION \
       --project=PROJECT_ID

Sostituisci quanto segue:

  • FILE

    Con il nome del file di configurazione della pipeline di distribuzione, clouddeploy.yaml o qualsiasi altro nome tu abbia assegnato.

  • REGION

    Con la regione in cui stai creando la pipeline di distribuzione.

  • PROJECT_ID

    Con l'ID del progetto in cui stai creando questa pipeline di distribuzione.

Ora hai una pipeline di distribuzione nel tuo progetto e un job di analisi, che farà parte della pipeline quando crei una release.

Passaggi successivi