本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
问题排查
以下主题可以帮助您解决在使用 HealthOmics 工作流程和数据存储时遇到的问题。
排查工作流
如何解决运行失败的问题?
使用 GetRun API 操作检索失败原因。有关更多信息,请参阅 运行失败原因。
如何对失败的任务进行故障排除?
查看任务失败消息中的错误代码以了解失败。查看任务登录 CloudWatch 以查看任务的详细日志消息。如果您没有收到详细的日志消息,则可以修改工作流程以输出其他日志语句。有关更多信息,请参阅 HealthOmics 使用 CloudWatch 日志进行监控。
我在哪里可以找到引擎日志?
HealthOmics 近乎实时 CloudWatch 地将所有运行(成功和失败)的引擎日志发布到。运行完成后,引擎日志也会传输到您的 Amazon S3 存储桶。有关更多信息,请参阅HealthOmics 使用 CloudWatch 日志进行监控和登录 Amazon S3。
如何减小工作流程的输入参数大小?
您最多可以为工作流程指定 50 KB 的输入参数。您可以使用目录导入或样本表来保持在此大小限制范围内。有关更多信息,请参阅 管理运行参数大小。
为什么我的跑步没有完成?
如果你的代码出现问题并且进程没有正常退出,你的运行可能会变得无响应或 “卡住”。有关如何防止和捕获无响应运行的更多信息,请参阅无响应跑步指南。
排除呼叫缓存问题
以下主题可以帮助您解决呼叫缓存中遇到的问题。
为什么我的跑步没有保存到缓存中?
-
通过检查 GetRun API 操作响应中的 CacheID 字段,验证运行是否配置为使用缓存。使用 CLI 运行以下命令:
aws omics get-run —id <run_id>。 -
如果运行成功,请验证 GetRun 响应中返回的缓存行为为 CACHE_ALWAYS。如果将缓存行为设置为 CACHE_ON_FAILURE,则运行仅在运行失败时才会保存到缓存中。
为什么任务不使用缓存条目?
<cache_id><cache_uuid>在/aws/omics/WorkflowLog CloudWatch 日志组中,打开运行缓存的日志流:runCache//。
-
验证之前的运行是否为预期缓存的任务创建了缓存条目。保存到缓存中的运行记录将使用 CACHE_ENTRY_CREATED 的日志消息进行记录。
-
找到任务的 CACHE_MISS 日志,然后运行已完成的任务。如果没有日志条目,请检查运行是否配置为使用缓存。
-
如果创建了缓存条目,请验证这两个任务的 CPU、内存、GPU 和容器摘要是否相同。创建缓存条目的任务的任务 ARN 位于日志消息中。
-
如果两个任务的计算要求相匹配,请验证两个任务之间的输入没有变化。为此,请打开引擎日志。所有运行的引擎 CloudWatch 日志均可在日志组aws/omics//WorkflowLog 中找到。完成后,它们也可以在运行的输出目录中找到。
为什么禁用任务的呼叫缓存?
检查任务是否配置为使用工作流引擎功能选择退出缓存:
对于 WDL 工作流程:检查任务在元部分
true中是否将 volatile 设置为对于 Nextflow 工作流程:检查任务的缓存指令是否设置为
false对于 CWL 工作流程:检查任务是否已将该功能的 enableReuse 设置为
falseWorkReuse
对数据存储进行故障排除
为什么 S3 在我的读取集上 GetObject 出现故障?
最常见的是,失败是由于缺少权限造成的。序列存储 S3 读取权限是一种双向配置,要求序列存储 S3 访问策略允许访问,并要求 IAM 委托人附加允许访问的策略。有关政策要求的更多详细信息,请参阅使用 Amazon S3 访问数据的权限 URIs。检查以下配置是否到位:
-
序列存储 S3 访问策略已明确允许访问 IAM 委托人或委托人账户的根目录。
-
检查 IAM 委托人是否有明确向正在访问的资源提供权限的政策。请注意,IAM 委托人策略在定义权限时必须使用接入点 ARN,而不是基于接入点别名的路径,并且 ARN 处于条件下,不用于指定资源。
-
如果您的商店使用客户管理的密钥 (CMK-KMS),请确保 IAM 委托人对该密钥拥有 kms: decrypt 权限。有关配置跨账户使用情况的信息,请参阅 KMS 跨账户访问指南。
如果您的策略使用基于标签的访问控制,请确保以下几点:
-
确保序列存储已完成标签的同步。为此,商店的状态必须是active而不是不是updating。
-
确保读取集和策略的标签密钥或键值中没有拼写错误。
为什么我在 Athena 中看不到我的注解商店或变体商店?
在 Lake Formation 中,请务必根据与您共享的商店创建资源链接。创建有访问权限的资源链接后,该商店应在 Athena 中可见。有关更多信息,请参阅 配置 Lake Formation 以供使用 HealthOmics。
为什么我无法访问我在 Athena 中的数据存储?
如果您的注释或变体存储可见,但收到一条错误消息,提示访问被拒绝,请检查您使用的是哪个查询引擎版本。仅支持使用引擎版本 3 运行的查询。要了解有关 Athena 查询引擎版本的更多信息,请参阅亚马逊 Athena 文档。
使用 Kiro CLI 进行故障排除
Kiro CLI 可以通过以下方式帮助简化故障排除流程:
-
分析工作流程运行和调试任务失败
-
收集相关的日志和错误消息
-
创建附有所有必要调试日志的 AWS 支持案例
-
从提交给支持部门的信息中删除个人身份信息 (PII) AWS
有关使用 Kiro CLI 进行故障排除和创建支持案例 AWS HealthOmics 的更多信息,请参阅上的 A HealthOmics gentic 生成式 AI 教程。
警告
使用 Kiro CLI 时,请先查看所有生成的内容和提议的操作,然后再继续。提供反馈以提高响应质量并满足您的工作流程要求。有关更多信息,请参阅 Kiro 的安全注意事项和最佳实践。