Definisci i job di analisi che utilizzano Google Cloud Observability

Questo documento descrive come configurare l'analisi nella 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 contenitore per importare e valutare le metriche e altri dati del tuo 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 attivata per il tuo progetto Google Cloud .

  7. Abilita le API Compute Engine e Cloud Deploy:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). 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 attivata per il tuo progetto Google Cloud .

  13. Abilita le API Compute Engine e Cloud Deploy:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). 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 job di analisi, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'account per il 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 IAMaccount di servizioount Cloud Deploy sul tuo progetto:

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

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

Configura l'analisi in Cloud Deploy

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

  1. Definisci una o più policy di avviso.

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

  3. Esegui la pipeline per eseguire l'analisi.

Definisci policy di avviso

Definisci i criteri di avviso per ricevere 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 sulla tua applicazione in produzione per inviare un avviso se la latenza della risposta HTTP è troppo elevata e, in base a questo avviso, il tuo job di analisi può attivare un'automazione repairRolloutRule per eseguire il rollback della release.

Come altro esempio, puoi creare una criterio di avviso simile per l'applicazione di cui è stato eseguito il deployment nell'ambiente di gestione temporanea e, se non viene attivato alcun avviso durante la durata del job di analisi, questo job può attivare un'promoteReleaseRuleautomazione per promuovere la release in produzione.

Creare l'analisi

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

Configura 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 è 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, puoi utilizzare 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 vengono rilevati avvisi da Google Cloud Observability, l'analisi viene considerata riuscita e l'implementazione continua.

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

    Ogni controllo include quanto segue:

    • Un ID

    • Uno o più criteri di avviso

    ovvero i 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é una 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 configurare un job di analisi quando utilizzi 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, del job di analisi. Al termine della durata, il job viene completato. Se l'analisi non va a buon fine (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 utilizzi per il controllo. Puoi trovare l'ID della policy di avviso eseguendo gcloud monitoring policies list. Devi disporre dell'ID completo, che ha questo aspetto:

    projects/project-redacted/alertPolicies/01234567890123456789

    È possibile che l'identificatore restituito includa /conditions/13842666848149128276 dopo l'ID policy. Non includere questo valore nell'ID policy.

  • KEY e VALUE

    Sono una coppia chiave-valore per un'etichetta, da utilizzare per prendere in considerazione solo avvisi specifici. Ad esempio, potresti 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, questo job va a buon fine e l'implementazione continua. Se un criterio attiva un avviso, il job si interrompe con lo stato FAILED e l'implementazione non riesce (con lo stato FAILED, a meno che tu non scelga di ignorare l'errore del job).

Applica 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 tuo 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 nel tuo progetto hai una pipeline di distribuzione e un job di analisi, che farà parte della pipeline quando crei una release.

Passaggi successivi