Infrastruktur diagnostizieren und validieren

Themen des Leitfadens:

Infrastruktur diagnostizieren

Auf dieser Seite finden Sie eine Anleitung zur Fehlerbehebung und Validierung der Infrastruktur des Aggregationsdiensts. Folgen Sie der Anleitung, um Probleme zu identifizieren und zu beheben.

Fehlerbehebung bei Terraform

Terraform, die von HashiCorp entwickelte IaC-Plattform (Infrastructure as Code), ist der Haupttreiber für die Bereitstellung des Aggregationsdienstes in der von Ihnen ausgewählten öffentlichen Cloud. Wenn Sie Terraform nicht installiert haben, lesen Sie in der HashiCorp-Dokumentation nach, wie Sie die Befehlszeile lokal abrufen.

Sie können auch tfenv installieren, wenn Sie die Terraform-Version wechseln müssen.

Wenn Sie das Problem mit dem Aggregationsdienst nicht lösen können, melden Sie es uns. Reichen Sie dazu ein GitHub-Problem ein oder senden Sie uns das Formular für den technischen Support.

Wenn Sie terraform lieber manuell wechseln möchten, gehen Sie so vor:

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

Wenn Sie sich die Ausgabe eines Terraform-Fehlers ansehen möchten, aktivieren Sie das Terraform-Logging auf TRACE-Ebene.

Google Cloud

Der Terraform-Provider für Google Cloud wird gemeinsam von HashiCorp und Google entwickelt. Bei weiteren Fragen und Ratschlägen zur Fehlerbehebung wenden Sie sich bitte an den Terraform-Support von Google oder besuchen Sie den Google-Bereich des Hashicorp Discuss-Portals.

Amazon Web Services

Eine Dokumentation zum Debuggen finden Sie auf der AWS. Wir empfehlen Ihnen auch, den Abschnitt „AWS“ des HashiCorp-Diskussionsportals aufzurufen.

Weitere Fragen zu Terraform finden Sie im Community-Portal von HashiCorp. Allgemeine Tipps zur Fehlerbehebung bei Terraform finden Sie in der Dokumentation zum Debugging.

Gehen Sie bei der Änderung dieser Verzeichnisse mit äußerster Vorsicht vor, da Terraform den Status andernfalls nicht mehr erkennt. Es wird versucht, alle Ressourcen neu bereitzustellen. Wenn eine Ressource mit demselben Namen vorhanden ist, tritt ein Fehler auf. Sollte das Problem weiterhin bestehen, füllen Sie bitte das Formular für den technischen Support aus.

Gehen Sie bei der Änderung dieser Verzeichnisse mit äußerster Vorsicht vor, da Terraform den Status andernfalls nicht mehr erkennt. Es wird versucht, alle Ressourcen neu bereitzustellen. Wenn eine Ressource mit demselben Namen vorhanden ist, tritt ein Fehler auf. Wenn das Problem weiterhin besteht, wende dich über das Formular für den technischen Support an uns.

Cloud-Einrichtung prüfen

Prüfen Sie, ob die Infrastruktur des Aggregationsdienstes in der ausgewählten öffentlichen Cloud ordnungsgemäß bereitgestellt wurde. Dazu verwenden wir Beispiel-Fehlerbehebungsberichte und führen einen Job im Debug-Modus aus. Wenn der Aggregationsdienst die API-Anfrage empfangen und beantworten kann, wissen wir, dass er betriebsbereit ist. Wenn Sie noch keinen eingerichtet haben, empfehlen wir Ihnen, Postman oder cURL zu verwenden, um Ihre API-Aufrufe für den Aggregationsdienst einzurichten. Hinweis: Debug-Modi sollten während normaler Aggregationsvorgänge deaktiviert sein.

Zusätzlich zu den folgenden Schritten sollten Sie alle Cloud-Komponenten prüfen, die in Ihrer öffentlichen Cloud bereitgestellt werden, um die Infrastruktur Ihres Aggregationsdiensts weiter zu validieren.

Schritte

  1. Folgen Sie der Anleitung in den Codelabs, um Beispiel-Debugberichte und Domaindateien zu generieren:

  2. Führen Sie eine createJob-Anfrage mit diesem Text aus und ersetzen Sie die hervorgehobenen Platzhalter:

    {
      "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. Führen Sie eine getJob-Anfrage aus, um die Antwort zu sehen. Wenn Sie die folgende Antwort erhalten, wurde Ihr Aggregationsdienst korrekt bereitgestellt.

    {
        "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>
    }
    

Wenn Sie keine Antwort mit einer job_status: FINISHED erhalten, rufen Sie die Compute Engine oder EC2-Ressource der von Ihnen ausgewählten öffentlichen Cloud auf, um weitere Informationen zu erhalten. Prüfen Sie Ihre Aggregation Service-Instanz und die Protokolle und notieren Sie sich die Informationen zwischen TEE container launcher initiating und TEE container launcher exiting, die Sie unserem technischen Supportteam zur Verfügung stellen.

Google Cloud

  1. Rufen Sie Google Cloud: Compute Engine auf.
  2. Klicken Sie auf VM-Instanzen und wählen Sie die Instanz des Aggregationsdiensts aus.
  3. Klicken Sie auf Details > Protokolle > Logging oder suchen Sie nach „Log-Explorer“.

Amazon Web Services

  1. Rufen Sie Amazon Web Services: EC2 Enclave auf.
  2. Klicken Sie auf EC2-Instanzen und wählen Sie die Instanz des Aggregationsdiensts aus.
  3. Klicken Sie auf Aktionen > Monitoring und Fehlerbehebung > Systemlog abrufen.

Prüfen Sie, ob die Fehlermeldungen mit den öffentlichen Informationen auf GitHub übereinstimmen.

Hinweis:Wenn Sie gerade ein Upgrade auf die aktuelle Version des Aggregationsdiensts durchgeführt haben, kann es bis zu mehrere Stunden dauern, bis das richtige Instanz-Image in der endgültigen Compute-Dienstinstanz angezeigt wird. Wende dich an uns, wenn das nicht der Fall ist.

Nächste Schritte

Wenn Sie das Problem mit dem Aggregationsdienst nicht lösen können, teilen Sie uns dies mit. Reichen Sie dazu ein GitHub-Problem ein oder senden Sie uns das Formular für den technischen Support.