

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# HealthOmics 使用 CloudWatch 日志进行监控
<a name="monitoring-cloudwatch-logs"></a>

HealthOmics 生成各种日志，以帮助您了解运行情况并对其进行故障排除。日志可在两个地方找到： CloudWatch 和 Amazon S3。

默认情况下，运行会开启日志记录。您可以选择通过在**startrun**请求`LogLevel = OFF`中设置来关闭运行的日志记录。

**注意**  
要获取服务更新，请配置和监控您的 Person [al Health Dashboar](https://health.console.aws.amazon.com/health/home#/account/dashboard/open-issues) d。有关如何管理控制面板的更多信息，请参阅 [AWS Health 控制面板入门](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html)。

**Topics**
+ [HealthOmics 工作流程的日志类型](#log-descriptions)
+ [登录 CloudWatch](#cloudwatch-logs)
+ [登录 Amazon S3](#s3-logs)
+ [CLI 中的交互式 CloudWatch 日志](#cloudwatch-logs-cli)
+ [从控制台访问 CloudWatch 日志](#cloudwatch-logs-console)

## HealthOmics 工作流程的日志类型
<a name="log-descriptions"></a>

HealthOmics 为工作流提供以下类型的日志：
+ 引擎日志 — 底层工作流引擎（Nextflow、WDL 和 CWL）生成运行的引擎日志。这些日志可以帮助您解决工作流程定义问题。
+ 运行清单日志 — 这些日志提供有关每个运行任务的高级信息，例如任务状态、开始时间、停止时间和失败原因（如果任务失败）。

  运行清单日志还会报告资源利用率统计信息，这有助于了解资源优化机会。这些统计数据包括：
  + CPU 平均值
  + CPU 最大值
  + CPUSRerved
  + gpusReserv
  + memoryAverageGiB，
  + memoryMaximumGiB，
  + memoryReservedGiB，
  + 运行秒
+ 运行日志-运行日志提供总体运行状态以及各个任务的启动、运行、停止和完成时间。运行日志还使您可以查看文件导入和导出步骤。
+ 任务日志-任务日志提供有关运行中各个任务的详细日志信息。任务日志中的输出取决于任务定义以及您在代码中使用日志语句的位置。如果您的任务日志无法提供所需的洞察级别，请考虑在任务定义中添加其他日志语句，以生成更具洞察力的任务日志。
+ 运行缓存日志-运行缓存日志提供运行缓存的总体状态和任务输出的缓存。通过运行缓存日志，您可以查看每次使用缓存的运行的缓存命中和未命中。
+ outputs.json — 对于 WDL 和 CWL 工作流程，在运行完成后将引擎生成的名为的文件 HealthOmics 传送到`outputs.json`您的 Amazon S3 存储桶。该文件包括运行的所有输出的列表和地图。

## 登录 CloudWatch
<a name="cloudwatch-logs"></a>

CloudWatch 为失败的运行和成功的运行生成工作流程日志。所有日志都可用于失败的运行和成功运行，但引擎日志仅适用于失败的运行。

您可以在以下日志组中找到 CloudWatch 工作流程日志：`/aws/omics/WorkflowLog`。此外，**get-run** API 操作的输出还提供了引擎 CloudWatch 日志和运行日志 ARNs 的日志流。

默认情况下，无限期 AWS 保留 CloudWatch 日志。您可以调整日志组的保留策略，将保留期设置为 10 年到 1 天之间。

下表提供了 CloudWatch 登录的摘要 HealthOmics。所有工作流程日志均可用于成功运行和失败运行，但引擎日志仅适用于失败的运行。


| 日志名称 | 在 CloudWatch 日志中可用 | 日志何时可用 | 日志流格式 | 
| --- | --- | --- | --- | 
| 引擎日志 | 是，对于失败的运行 |  运行完成后  | run/ /engin runID e | 
| 运行清单日志 | 是 |  运行完成后  | manifest/run/ runID runUUID | 
| 运行日志 | 是 | 实时 | 运行/ runID | 
| 任务日志 | 是 | 实时 | run/ /task/ runID taskID | 
| 运行缓存日志 | 是 | 实时 | runCache//runCacheIdrunCacheUUID | 
| outputs.json（WDL 和 CWL） | 否 | 不适用 | 不适用 | 

## 登录 Amazon S3
<a name="s3-logs"></a>

只有引擎日志和`outputs.json`文件会被传送到 Amazon S3。

运行完成后，引擎日志将传送到您的 S3 存储桶，并且可以无限期使用，直到您将其删除。这些日志位于您为工作流程指定的 S3 输出 URI 的日志目录中。

日志目录的路径采用以下格式：`s3://{user_provided_path}/logs/`。

下表提供了您的 Amazon S3 存储桶中可用 HealthOmics 日志的摘要。


| 日志名称 | 在 Amazon S3 中可用 | 日志何时可用 | 日志流路径 | 
| --- | --- | --- | --- | 
| 引擎日志 | 是 | 运行完成后 | s3://user\$1provided\$1path/logs/engine.log | 
| outputs.json（WDL 和 CWL） | 是 |  运行完成后  | s3: /////logs user\$1provided\$1path runID runUUID /outputs.json | 
| 运行清单日志、运行日志和任务日志 | 否 | 不适用 | 不适用 | 

## CLI 中的交互式 CloudWatch 日志
<a name="cloudwatch-logs-cli"></a>

您可以在交互模式下使用 Live Tail 命令以交互方式查看 CloudWatch 日志。您可以实时跟踪运行进度，并定义最多 5 个关键字以在日志中突出显示：

```
aws logs start-live-tail  \
  --mode interactive  \
  --log-group-identifiers arn:aws:logs:region:account-ID:log-group:/aws/omics/WorkflowLog
```

有关更多信息，请参阅《 AWS CLI 命令参考》中的 [Start live tail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/start-live-tail.html)。

## 从控制台访问 CloudWatch 日志
<a name="cloudwatch-logs-console"></a>

要访问运行日志，您可以直接从 HealthOmics 控制台的**运行详细信息**页面链接到这些日志。

1. 打开 [HealthOmics 控制台](https://console.aws.amazon.com/omics/)。

1.  如果需要，请打开左侧导航窗格 (►)。选择**运行**。

1. 从 “运行” 表中选择运行。

1. 在运行详细信息页面中，您可以选择以下任一操作：

   1. **在运行摘要**中，选择**查看运行日志**。控制台在控制台中打开运行日志。 CloudWatch 

   1. 从**运行摘要**中，选择**在 Amazon S3 中查看日志**。控制台在 Amazon S3 控制台中打开日志文件夹。

   1. **在运行任务**中，选择**查看日志**、**查看运行日志**或**查看任务的运行清单日志**。控制台在控制台中打开日志。 CloudWatch 

您也可以从 CloudWatch 控制台导航到日志：

1. 打开控制 CloudWatch 台[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 从左侧菜单中选择 “**日志组**”。

1. 选择 `/aws/omics/WorkflowLog` 组。

   如果日志组列表很长，则可以在搜索文本框中输入 **omics** 来缩小列表范围。

1. 当**日志组详细信息**页面打开时，选择要查看的日志流。控制台显示此日志流的事件。