

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

# 啟用持續記錄 AWS Glue 4.0 和舊版任務
<a name="monitor-continuous-logging-enable"></a>

**注意**  
 在 AWS Glue 4.0 和舊版中，持續記錄是可用的功能。不過，隨著 AWS Glue 5.0 的推出，所有任務都具有即時記錄功能。如需 AWS Glue 5.0 中記錄功能和組態選項的詳細資訊，請參閱[記錄 AWS Glue 任務](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuous-logging.html)。

您可以使用 AWS Glue 主控台或透過 AWS Command Line Interface () 啟用持續記錄AWS CLI。

在您建立新任務、編輯現有任務，或是透過 AWS CLI啟用任務時，可以啟用持續記錄。

您也可以指定自訂組態選項，例如 Amazon CloudWatch 日誌群組名稱、 AWS Glue 任務執行 ID 驅動程式/執行器 ID 之前的 CloudWatch 日誌串流字首，以及日誌訊息的日誌轉換模式。這些組態可協助您在具有不同過期政策的自訂 CloudWatch 日誌群組中設定彙總日誌，並使用自訂日誌串流字首和轉換模式進一步分析它們。

**Topics**
+ [使用 AWS 管理主控台](#monitor-continuous-logging-enable-console)
+ [使用自訂指令碼記錄器記錄應用程式特定訊息](#monitor-continuous-logging-script)
+ [啟用進度列來顯示任務進度](#monitor-continuous-logging-progress)
+ [具有連續記錄的安全組態](#monitor-logging-encrypt-log-data)

## 使用 AWS 管理主控台
<a name="monitor-continuous-logging-enable-console"></a>

請依照下列步驟，使用 主控台在建立或編輯 AWS Glue 任務時啟用持續記錄。

**建立具有持續記錄的新 AWS Glue 任務**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 開啟 AWS Glue 主控台。

1. 在導覽窗格中，選擇 **ETL 任務**。

1. 選擇**視覺化的 ETL**。

1. 在**任務詳細資訊**索引標籤中，展開**進階屬性**部分。

1. 在**持續記錄**下，選取在 **CloudWatch 中啟用日誌**。

**啟用現有 AWS Glue 任務的持續記錄**

1. 在 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 開啟 AWS Glue 主控台。

1. 在導覽窗格中，選擇 **Jobs (任務)**。

1. 從 **Jobs (任務)** 清單中選擇現有的任務。

1. 選擇 **Action (動作)**、**Edit job (編輯任務)**。

1. 在**任務詳細資訊**索引標籤中，展開**進階屬性**部分。

1. 在**持續記錄**下，選取在 **CloudWatch 中啟用日誌**。

### 使用 AWS CLI
<a name="monitor-continuous-logging-cli"></a>

若要啟用持續記錄，您可以將任務參數傳遞至 AWS Glue 任務。傳遞下列特殊任務參數，類似於其他 AWS Glue 任務參數。如需詳細資訊，請參閱[在 Glue AWS 任務中使用任務參數](aws-glue-programming-etl-glue-arguments.md)。

```
'--enable-continuous-cloudwatch-log': 'true'
```

您可以指定自訂 Amazon CloudWatch 日誌群組名稱。如果未指定，則預設日誌群組名稱為 `/aws-glue/jobs/logs-v2`。

```
'--continuous-log-logGroup': '{{custom_log_group_name}}'
```

您可以指定自訂 Amazon CloudWatch 日誌串流字首。如果未指定，則預設日誌資料流字首為任務執行 ID。

```
'--continuous-log-logStreamPrefix': '{{custom_log_stream_prefix}}'
```

您可以指定自訂持續記錄轉換模式。如果未指定，則預設轉換模式為 `%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n`。請注意，轉換模式僅適用於驅動程式日誌和執行程式日誌。它不會影響 AWS Glue 進度列。

```
'--continuous-log-conversionPattern': '{{custom_log_conversion_pattern}}'
```

## 使用自訂指令碼記錄器記錄應用程式特定訊息
<a name="monitor-continuous-logging-script"></a>

您可以使用 AWS Glue 記錄器，在指令碼中記錄即時傳送到驅動程式日誌串流的任何應用程式特定訊息。

以下範例顯示 Python 指令碼。

```
from awsglue.context import GlueContext
from pyspark.context import SparkContext

sc = SparkContext()
glueContext = GlueContext(sc)
logger = glueContext.get_logger()
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
```

以下範例顯示 Scala 指令碼。

```
import com.amazonaws.services.glue.log.GlueLogger

object GlueApp {
  def main(sysArgs: Array[String]) {
    val logger = new GlueLogger
    logger.info("info message")
    logger.warn("warn message")
    logger.error("error message")
  }
}
```

## 啟用進度列來顯示任務進度
<a name="monitor-continuous-logging-progress"></a>

AWS Glue 在`JOB_RUN_ID-progress-bar`日誌串流下提供即時進度列，以檢查 AWS Glue 任務執行狀態。目前它僅支援初始化 `glueContext` 的任務。如果您在未初始化 的情況下執行純 Spark 任務`glueContext`，則不會顯示 AWS Glue 進度列。

進度列每 5 秒顯示一次以下的最新進度。

```
Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
```

## 具有連續記錄的安全組態
<a name="monitor-logging-encrypt-log-data"></a>

如果為 CloudWatch 日誌啟用安全組態， AWS Glue 會為連續日誌建立名為 的日誌群組，如下所示：

```
<Log-Group-Name>-<Security-Configuration-Name>
```

預設和自訂日誌群組將如下所示：
+ 預設的連續日誌群組為 `/aws-glue/jobs/error-<{{Security-Configuration-Name>}}`
+ 自訂的連續日誌群組為 `<{{custom-log-group-name>}}-<{{Security-Configuration-Name>}}`

您需要新增 `logs:AssociateKmsKey` 至您的 IAM 角色許可 (如果您使用 CloudWatch Logs 啟用安全組態)。如果未包含該許可，則會停用連續記錄。此外，若要設定 CloudWatch Logs 的加密，請依照 *Amazon CloudWatch Logs 使用者指南*中的[使用 AWS Key Management Service加密 CloudWatch Logs 中的日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)指示進行。

如需建立安全組態的詳細資訊，請參閱[在 AWS Glue 主控台上使用安全組態](console-security-configurations.md)。

**注意**  
 啟用日誌記錄並建立其他 CloudWatch 日誌事件時，可能會產生額外費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。