

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudWatch Logs 監控 HealthOmics
<a name="monitoring-cloudwatch-logs"></a>

HealthOmics 會產生各種日誌，協助您了解並疑難排解您的執行。日誌提供兩個位置：CloudWatch 和 Amazon S3。

根據預設，執行已開啟記錄。您可以選擇性地關閉執行的記錄，方法是在**startrun**請求`LogLevel = OFF`中設定 。

**注意**  
如需服務更新，請設定和監控[您的個人運作狀態儀表板](https://health.console.aws.amazon.com/health/home#/account/dashboard/open-issues)。如需如何管理儀表板的詳細資訊，請參閱 [AWS Health Dashboard 入門](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 Logs](#cloudwatch-logs-cli)
+ [從主控台存取 CloudWatch Logs](#cloudwatch-logs-console)

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

HealthOmics 為工作流程提供下列類型的日誌：
+ 引擎日誌 – 基礎工作流程引擎 (Nextflow、WDL 和 CWL) 會產生執行的引擎日誌。這些日誌可協助您疑難排解工作流程定義問題。
+ 執行資訊清單日誌 – 這些日誌提供有關每個執行任務的高階資訊，例如任務狀態、開始時間、停止時間和失敗原因 （如果任務失敗）。

  執行資訊清單日誌也會報告資源使用率統計資料，有助於了解資源最佳化機會。這些統計資料包括：
  + cpusAverage
  + cpusMaximum
  + cpusReserved
  + gpusReserved
  + memoryAverageGiB
  + memoryMaximumGiB
  + memoryReservedGiB
  + runningSeconds
+ 執行日誌 – 執行日誌提供整體執行狀態，以及個別任務開始、執行、停止和完成的時間。執行日誌也可讓您了解檔案匯入和匯出步驟。
+ 任務日誌 – 任務日誌提供有關執行中個別任務的詳細記錄資訊。任務日誌中的輸出取決於任務定義，以及您在程式碼中使用日誌陳述式的位置。如果您的任務日誌未提供您所需的洞見層級，請考慮將其他日誌陳述式新增至您的任務定義，以產生更深入的任務日誌。
+ 執行快取日誌 – 執行快取日誌提供執行快取的整體狀態和任務輸出的快取。執行快取日誌可讓您了解使用快取的每個執行的快取命中和未命中。
+ 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 Logs。您可以調整日誌群組的保留政策，將保留期間設定為 10 年到 1 天。

下表提供 HealthOmics 中的 CloudWatch Logs 摘要。 HealthOmics 所有工作流程日誌都可用於成功執行和失敗執行，但引擎日誌僅適用於失敗的執行。


| 日誌名稱 | 可在 CloudWatch Logs 中使用 | 何時可使用日誌 | 日誌串流格式 | 
| --- | --- | --- | --- | 
| 引擎日誌 | 是，對於失敗的執行 |  執行完成後  | run/runID/engine | 
| 執行資訊清單日誌 | 是 |  執行完成後  | manifest/run/runID/runUUID | 
| 執行日誌 | 是 | 即時 | run/runID | 
| 任務日誌 | 是 | 即時 | run/runID/task/taskID | 
| 執行快取日誌 | 是 | 即時 | runCache/runCacheId/runCacheUUID | 
| Outputs.json (WDL 和 CWL) | 否 | N/A | 無 | 

## 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：//user\$1provided\$1path/runID/runUUID/logs/outputs.json | 
| 執行資訊清單日誌、執行日誌和任務日誌 | 否 | N/A | 無 | 

## CLI 中的互動式 CloudWatch Logs
<a name="cloudwatch-logs-cli"></a>

您可以使用互動式模式下的 Live Tail 命令，以互動方式檢視 CloudWatch Logs。您可以即時追蹤執行進度，並定義最多 5 個關鍵字以在日誌中反白顯示：

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

如需詳細資訊，請參閱《 AWS CLI 命令參考》中的[啟動即時結尾](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/start-live-tail.html)。

## 從主控台存取 CloudWatch Logs
<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：//[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 從左側功能表中，選擇**日誌群組**。

1. 選擇 `/aws/omics/WorkflowLog` 群組。

   如果日誌群組清單很長，您可以在搜尋文字方塊中輸入 **omics** 以縮小清單範圍。

1. 當**日誌群組詳細資訊**頁面開啟時，選擇您要檢視的日誌串流。主控台會顯示此日誌串流的事件。