指南主题:
诊断基础架构
本页面提供了有关如何排查和验证汇总服务基础架构的问题的指导。请按照相应步骤找出问题并加以解决。
Terraform 问题排查
Terraform 是由 HashiCorp 创建的基础架构即代码 (IaC) 平台,是将汇总服务部署到您选择的公有云的主要驱动因素。如果您尚未安装 Terraform,请参阅 HashiCorp 文档,了解如何在本地获取 CLI。
如果您的需求需要您切换 Terraform 版本,您还可以考虑安装 tfenv。
如果您找不到汇总服务问题的解决方案,请通过提交 GitHub 问题或提交技术支持表单通知我们。
如果您想手动切换 Terraform,请执行以下操作:
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
如果 Terraform 错误不明确,您可以通过在 TRACE
级别启用 Terraform 日志记录来查看输出。
Google Cloud
Google Cloud 的 Terraform 提供程序由 HashiCorp 和 Google 联合开发。如有其他问题和问题排查建议,请与 Cloud Terraform 支持团队联系以了解详情,或前往 Hashicorp Discuss 门户的“Google”部分。
Amazon Web Services
您可以在 AWS 网站上找到调试文档。我们还建议您查看 HashiCorp Discuss 门户的 AWS 部分。
如需进一步了解 Terraform,请访问 HashiCorp 社区门户。 如需有关常规 Terraform 问题排查的建议,请参阅其调试文档。
修改这些目录时请务必小心,因为移除这些目录会导致 Terraform 无法再识别状态。它会尝试重新预配所有资源,如果您有完全相同名称的资源,则会出错。如果问题仍然存在,请通过技术支持表单与我们联系。
修改这些目录时请务必小心,因为移除这些目录会导致 Terraform 无法再识别状态。它会尝试重新预配所有资源,如果您有完全相同名称的资源,则会出错。如果问题仍然存在,请通过技术支持表单与我们联系
验证您的 Cloud 设置
验证您在所选公共云中的汇总服务基础架构是否已正确部署。为此,我们将使用示例调试报告,并在调试模式下运行作业。如果汇总服务能够接收 API 请求并做出响应,我们便知道该服务已启动并正常运行。如果您尚未设置,我们建议您使用 Postman 或 cURL
设置对汇总服务的 API 调用。请注意,在正常汇总操作期间,应关闭调试模式(将其设为 false)。
除了以下步骤之外,如需进一步验证汇总服务基础架构,请调查公有云中预配的所有云端组件。
步骤
如需生成示例调试报告和输出网域文件,请按照以下 Codelab 中的相关步骤操作:
- Google Cloud:按照汇总服务 Google Cloud Codelab 中的第 3.1.1 步到第 3.1.4 步操作。
- Amazon Web Services:请按照汇总服务 AWS Codelab 中的第 4.1 步到第 4.4 步操作
使用以下正文运行
createJob
请求,替换突出显示的占位符:{ "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 } }
运行
getJob
请求以查看响应。如果您收到以下响应,则表示汇总服务已正确部署。{ "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> }
如果您未收到包含 job_status: FINISHED
的响应,请前往所选公共云的 Compute Engine 或 EC2 资源,收集更多信息。检查您的汇总服务实例并检查日志,然后记录您在 TEE container launcher initiating
和 TEE container launcher exiting
之间看到的信息,以提供给我们的技术支持团队。
Google Cloud
- 前往 Google Cloud:Compute Engine。
- 点击虚拟机实例,然后选择您的汇总服务实例。
- 依次点击详细信息 > 日志 > 日志记录(或搜索“日志浏览器”)。
Amazon Web Services
- 前往 Amazon Web Services:EC2 Enclave。
- 点击 EC2 实例,然后选择您的汇总服务实例。
- 依次点击操作 > 监控和问题排查 > 获取系统日志。
请检查并查看 GitHub 上的公开指南中是否有与错误通知相符的内容。
注意:如果您刚刚升级了当前版本的汇总服务,完整的预配过程最多可能需要几个小时,正确的实例映像才会反映在最终的计算服务实例中。如果不是这种情况,请与我们联系。