

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

# 將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs
<a name="AuroraMySQL.Integrating.CloudWatch"></a>

您可以設定 Aurora MySQL 資料庫叢集將一般、緩慢、稽核和錯誤日誌資料發佈至 Amazon CloudWatch Logs 中的日誌群組。使用 CloudWatch Logs，您可以執行日誌資料的即時分析，並使用 CloudWatch 來建立警示和檢視指標。您可以使用 CloudWatch Logs 將日誌記錄存放在高耐用性的儲存裝置中。

若要將日誌發佈至 CloudWatch Logs，必須啟用各自的日誌。依預設會啟用錯誤日誌，但您必須明確啟用其他類型的日誌。如需在 MySQL 中啟用日誌的相關資訊，請參閱 MySQL 文件中的[選取一般查詢和緩慢查詢日誌輸出目的地](https://dev.mysql.com/doc/refman/8.0/en/log-destinations.html)。如需啟用 Aurora MySQL 稽核日誌的詳細資訊，請參閱 [啟用進階稽核](AuroraMySQL.Auditing.md#AuroraMySQL.Auditing.Enable)。

**注意**  
如果已停止匯出日誌資料，Aurora 不會刪除現有的日誌群組或日誌串流。如果已停止匯出日誌資料，現有的日誌資料會繼續存在於 CloudWatch Logs 中，視日誌保留期間而定，而存放的稽核日誌資料仍會產生費用。您可以使用 CloudWatch Logs 主控台、 AWS CLI或 CloudWatch Logs API 來刪除日誌串流和日誌群組。
將稽核日誌發佈至 CloudWatch Logs 的另一種方法是啟用進階稽核，然後建立自訂資料庫叢集參數群組，並將 `server_audit_logs_upload` 參數設為 `1`。`server_audit_logs_upload` 資料庫叢集參數的預設值為 `0`。如需啟用進階稽核的資訊，請參閱 [使用進階稽核與 Amazon Aurora MySQL 資料庫叢集搭配](AuroraMySQL.Auditing.md)。  
若您使用此替代方法，則必須具有 IAM 角色來存取 CloudWatch Logs，並將 `aws_default_logs_role` 叢集等級參數設為此角色的 ARN。如需有關建立角色的詳細資訊，請參閱 [設定 IAM 角色以存取 AWS 服務](AuroraMySQL.Integrating.Authorizing.IAM.md)。
如果您不要將稽核日誌匯出至 CloudWatch Logs，請確定所有匯出稽核日誌的方法都已停用。這些方法包括 AWS 管理主控台、 AWS CLI、RDS API 和 `server_audit_logs_upload` 參數。

## 主控台
<a name="AuroraMySQL.Integrating.CloudWatch.Console"></a>

您可以透過主控台推送佈建的叢集 Aurora MySQL 日誌到 CloudWatch Logs。

**從主控台發佈 Aurora MySQL 日誌**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇您要發佈日誌資料的 Aurora MySQL 資料庫叢集。

1. 選擇 **Modify (修改)**。

1. 在 **Log exports (日誌匯出)** 區段中，選擇您要開始發佈至 CloudWatch Logs 的日誌。

1. 選擇 **Continue (繼續)**，然後在摘要頁面上選擇 **Modify DB Cluster (修改資料庫叢集)**。

## AWS CLI
<a name="AuroraMySQL.Integrating.CloudWatch.CLI"></a>

您可以使用 CLI 發佈已佈建叢集的 Aurora MySQL AWS 日誌。如要執行此動作，您可以搭配下列選項執行 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令：
+ `--db-cluster-identifier`—資料庫叢集識別符
+ `--cloudwatch-logs-export-configuration` — 資料庫叢集的哪些日誌類型要匯出至 CloudWatch Logs 的組態設定。

您也可以執行下列其中一個 AWS CLI 命令來發佈 Aurora MySQL 日誌：
+ [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)
+ [restore-db-cluster-from-s3](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-s3.html)
+ [restore-db-cluster-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html)
+ [restore-db-cluster-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html)

使用下列選項執行其中一個 AWS CLI 命令：
+ `--db-cluster-identifier`—資料庫叢集識別符
+ `--engine` — 資料庫引擎。
+ `--enable-cloudwatch-logs-exports` — 資料庫叢集的哪些日誌類型要匯出至 CloudWatch Logs 的組態設定。

視您執行的 AWS CLI 命令而定，可能需要其他選項。

**Example**  
下列命令修改現有的 Aurora MySQL 資料庫叢集，以將日誌檔案發佈至 CloudWatch Logs。  
對於 Linux、macOS 或 Unix：  

```
1. aws rds modify-db-cluster \
2.     --db-cluster-identifier {{mydbcluster}} \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit","instance"]}'
```
在 Windows 中：  

```
1. aws rds modify-db-cluster ^
2.     --db-cluster-identifier {{mydbcluster}} ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit","instance"]}'
```

**Example**  
下列命令建立 Aurora MySQL 資料庫叢集，以將日誌檔案發佈至 CloudWatch Logs。  
對於 Linux、macOS 或 Unix：  

```
1. aws rds create-db-cluster \
2.     --db-cluster-identifier {{mydbcluster}} \
3.     --engine aurora \
4.     --enable-cloudwatch-logs-exports '["error","general","slowquery","audit","instance"]'
```
在 Windows 中：  

```
1. aws rds create-db-cluster ^
2.     --db-cluster-identifier {{mydbcluster}} ^
3.     --engine aurora ^
4.     --enable-cloudwatch-logs-exports '["error","general","slowquery","audit","instance"]'
```

## RDS API
<a name="AuroraMySQL.Integrating.CloudWatch.API"></a>

您可以透過 RDS API 推送佈建的叢集 Aurora MySQL 日誌。若要執行此操作，您可以執行 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) 操作並指定下列選項：
+ `DBClusterIdentifier`—資料庫叢集識別符
+ `CloudwatchLogsExportConfiguration` — 資料庫叢集的哪些日誌類型要匯出至 CloudWatch Logs 的組態設定。

您也可以執行下列其中一個 RDS API 操作，以利用 RDS API 來發佈 Aurora MySQL 日誌：
+ [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html)
+ [RestoreDBClusterFromS3](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromS3.html)
+ [RestoreDBClusterFromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromSnapshot.html)
+ [RestoreDBClusterToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html)

請搭配下列參數執行 RDS API 操作：
+ `DBClusterIdentifier`—資料庫叢集識別符
+ `Engine` — 資料庫引擎。
+ `EnableCloudwatchLogsExports` — 資料庫叢集的哪些日誌類型要匯出至 CloudWatch Logs 的組態設定。

視您執行的 AWS CLI 命令而定，可能需要其他參數。

## 在 Amazon CloudWatch 中監控日誌事件
<a name="AuroraMySQL.Integrating.CloudWatch.Monitor"></a>

啟用 Aurora MySQL 日誌事件之後，您就可以在 Amazon CloudWatch Logs 中監控事件。針對 Aurora 資料庫叢集，自動會在下列字首下方建立新的日誌群組，其中 `{{cluster-name}}` 代表資料庫叢集名稱，`{{log_type}}` 代表日誌類型。

```
/aws/rds/cluster/{{cluster-name}}/{{log_type}}
```

例如，若您設定匯出功能來包含 `mydbcluster` 資料庫叢集的緩慢查詢日誌，則緩慢查詢資料會存放在 `/aws/rds/cluster/mydbcluster/slowquery` 日誌群組中。

來自叢集中所有執行個體的事件，將會使用不同的記錄串流推送至記錄群組。該行為取決於下列哪個條件為真：
+ 具指定名稱的記錄群組存在。

  Aurora 會使用現有的記錄群組來匯出叢集的記錄資料。如要以預先定義的記錄保留期間、指標篩選條件和客戶存取權來建立記錄群組，您可使用自動化組態 (例如 AWS CloudFormation)。
+ 具指定名稱的記錄群組不存在。

  在執行個體的記錄檔中偵測到相符的記錄項目時，Aurora MySQL 會自動在 CloudWatch Logs 中建立新的記錄群組。記錄群組會使用 **Never Expire** (永不過期) 的預設記錄保留期間。

  若要變更日誌保留期間，請使用 CloudWatch Logs 主控台 AWS CLI、 或 CloudWatch Logs API。如需在 CloudWatch Logs 中變更日誌保留期間的詳細資訊，請參閱[在 CloudWatch Logs 中變更日誌資料保留期間](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SettingLogRetention.html)。

若要搜尋資料庫叢集日誌事件中的資訊，請使用 CloudWatch Logs 主控台 AWS CLI、 或 CloudWatch Logs API。如需搜尋和篩選日誌資料的詳細資訊，請參閱[搜尋和篩選日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)。