Diagnostica e convalida l'infrastruttura

Argomenti della guida:

Diagnostica l'infrastruttura

Questa pagina fornisce indicazioni su come risolvere i problemi e convalidare l'infrastruttura di Aggregation Service. Segui i passaggi per identificare e risolvere i problemi.

Risoluzione dei problemi di Terraform

Terraform, la piattaforma Infrastructure as Code (IaC) creata da HashiCorp, è il motore principale per il deployment di Aggregation Service nel cloud pubblico scelto. Se non hai installato Terraform, consulta la documentazione di HashiCorp su come ottenere l'interfaccia a riga di comando localmente.

Ti consigliamo inoltre di installare tfenv, se le tue esigenze richiedono di cambiare versione di Terraform.

Se non riesci a risolvere il problema relativo al servizio di aggregazione, comunicacelo inviando un problema GitHub o compilando il modulo di assistenza tecnica.

Se preferisci cambiare terraform manualmente:

rm -rf $(which terraform)
wget https://releases.hashicorp.com/terraform/1.2.3/terraform_1.2.3_linux_amd64.zip 
unzip terraform_1.2.3_linux_amd64.zip
mv terraform /usr/local/bin/terraform
terraform --version

Se un errore di Terraform non è chiaro, l'output può essere visualizzato attivando la registrazione di Terraform a livello TRACE.

Google Cloud

Il provider Terraform per Google Cloud è sviluppato congiuntamente da HashiCorp e Google. Per ulteriori domande e consigli per la risoluzione dei problemi, contatta l'assistenza Terraform di Cloud per maggiori informazioni o visita la sezione Google del portale Discuss di Hashicorp.

Amazon Web Services

La documentazione di debug è disponibile sul sito di AWS. Ti invitiamo inoltre a consultare la sezione AWS del portale HashiCorp Discuss.

Per ulteriori domande su Terraform, visita il portale della community di HashiCorp. Per consigli sulla risoluzione dei problemi generali di Terraform, consulta la documentazione sul debug.

Fai molta attenzione quando modifichi queste directory, perché la loro rimozione farà sì che Terraform non riconosca più lo stato. Cercherà di eseguire nuovamente il provisioning di tutte le risorse e restituirà un errore se esiste una risorsa con lo stesso nome esatto. Se il problema persiste, contattaci tramite il modulo di assistenza tecnica.

Fai molta attenzione quando modifichi queste directory, perché la loro rimozione farà sì che Terraform non riconosca più lo stato. Cercherà di eseguire nuovamente il provisioning di tutte le risorse e restituirà un errore se esiste una risorsa con lo stesso nome esatto. Se il problema persiste, contattaci tramite il modulo di assistenza tecnica

Convalida la configurazione di Cloud

Verifica se l'infrastruttura del servizio di aggregazione nel cloud pubblico scelto è stata di cui è stato eseguito il deployment correttamente. A questo scopo, utilizzeremo report di debug di esempio ed eseguiremo un job in modalità di debug. Se il servizio di aggregazione è in grado di ricevere la richiesta dell'API e di rispondere, sappiamo che è attivo e funzionante. Se non ne hai già configurato uno, ti consigliamo di utilizzare Postman o cURL per configurare le chiamate API al servizio di aggregazione. Tieni presente che le modalità di debug devono essere disattivate, impostate su false, durante le normali operazioni di aggregazione.

Oltre ai passaggi che seguono, per convalidare ulteriormente l'infrastruttura del servizio di aggregazione, esamina tutti i componenti cloud di cui viene eseguito il provisioning nel cloud pubblico.

Passaggi

  1. Per generare report di debug di esempio e file di dominio di output, segui i passaggi pertinenti dei codelab:

  2. Esegui una richiesta createJob con questo corpo, sostituendo i segnaposto evidenziati:

    {
      "job_request_id": "<job_request_id>",
      "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
      "input_data_bucket_name": "<input_bucket_name>",
      "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
      "output_data_bucket_name": "<output_bucket_name>",
      "job_parameters": {
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "attribution_report_to": "<reporting_origin_domain>",
        "report_error_threshold_percentage": "10", // example value
        "debug_run": "true" // optional, but should be false by default
      }
    }
    
  3. Esegui una richiesta getJob per visualizzare la risposta. Se ricevi la seguente risposta, significa che il servizio di aggregazione è stato implementato correttamente.

    {
        "job_status": "FINISHED",
        "request_received_at": <utc_timestamp>,
        "request_updated_at": <utc_timestamp>,
        "job_request_id": "<job_request_id>",
        "input_data_blob_prefix": "<report_folder>/<input_report_prefix>.avro",
        "input_data_bucket_name": "<input_bucket_name>",
        "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
        "output_data_bucket_name": "<output_bucket_name>",
        "postback_url": "",
        "result_info": {
            "return_code": "<return_code_and_message>",
            "return_message": "Aggregation job successfully processed",
            "error_summary": {
                "error_counts": [],
                "error_messages": []
            },
            "finished_at": <utc_timestamp>
        },
        "job_parameters": {
            "debug_run": "true", // optional, but should be false by default
            "output_domain_bucket_name": "<output_domain_bucket_name>",
            "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
            "attribution_report_to": "<reporting_origin_domain>"
        },
        "request_processing_started_at": <utc_timestamp>
    }
    

Se non ricevi una risposta con un job_status: FINISHED, raccolgi ulteriori informazioni andando alla risorsa Compute Engine o EC2 del cloud pubblico scelto. Controlla l'istanza del servizio di aggregazione, esamina i log e registra le informazioni visualizzate tra TEE container launcher initiating e TEE container launcher exiting da fornire al nostro team di assistenza tecnica.

Google Cloud

  1. Vai a Google Cloud: Compute Engine.
  2. Fai clic su Istanze VM e seleziona l'istanza del servizio di aggregazione.
  3. Fai clic su Dettagli > Log > Logging (o cerca Esplora log).

Amazon Web Services

  1. Vai ad Amazon Web Services: EC2 Enclave.
  2. Fai clic su Istanze EC2 e seleziona l'istanza del servizio di aggregazione.
  3. Fai clic su Azioni > Monitora e risolvi i problemi > Ottieni il log di sistema.

Controlla se trovi una corrispondenza con le notifiche di errore nelle nostre linee guida pubbliche su GitHub.

Nota:se hai appena eseguito l'upgrade della versione corrente di Aggregation Service, la procedura di provisioning completa potrebbe richiedere fino a un paio di ore prima che l'immagine dell'istanza corretta venga applicata all'istanza di servizio di calcolo finale. Contattaci se non è così.

Passaggi successivi

Se non riesci a risolvere il problema relativo al servizio di aggregazione, comunicacelo inviando un problema GitHub o compilando il modulo di assistenza tecnica.