將 MySQL 日誌發佈到 Amazon CloudWatch 日誌 - Amazon Relational Database Service

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

將 MySQL 日誌發佈到 Amazon CloudWatch 日誌

您可以將 MySQL 資料庫執行個體設定為將日誌資料發佈到 Amazon CloudWatch 日誌中的日誌群組。使用 CloudWatch Logs,您可以對記錄資料執行即時分析,並用 CloudWatch 來建立警示和檢視指標。您可以使用 CloudWatch 日誌將日誌記錄存儲在高度耐用的存儲中。

Amazon RDS 將每個 MySQL 資料庫日誌發佈為日誌群組中獨立的資料庫流。例如,若您設定匯出功能以包含慢查詢日誌,則慢查詢資料會存放在 /aws/rds/instance/my_instance/slowquery 日誌群組內的慢查詢日誌串流中。

錯誤日誌預設為啟用。下表摘要說明其他 MySQL 日誌的要求。

日誌 要求

稽核日誌

資料庫執行個體必須使用含有選項 MARIADB_AUDIT_PLUGIN 的自訂選項群組。

一般日誌

資料庫執行個體必須使用含有參數設定 general_log = 1 的自訂參數群組,以啟用一般日誌。

慢查詢日誌

資料庫執行個體必須使用含有參數設定 slow_query_log = 1 的自訂參數群組,以啟用慢查詢日誌。

記錄輸出

資料庫執行個體必須使用具有參數設定的自訂參數群組,log_output = FILE才能將記錄寫入檔案系統,並將其發佈至CloudWatch 記錄。

若要使用主控台將 MySQL 記 CloudWatch 錄檔發佈至記錄
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要修改的資料庫執行個體。

  3. 選擇 Modify (修改)

  4. 在 [記錄匯出] 區段中,選擇您要開始發佈至 CloudWatch 記錄檔的記錄檔。

  5. 選擇 Continue (繼續),然後在摘要頁面上選擇 Modify DB Instance (修改資料庫執行個體)

您可以使用 AWS CLI 來發佈 MySQL 日誌。您可以使用下列參數來呼叫 modify-db-instance 命令:

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

注意

--cloudwatch-logs-export-configuration 選項的變更一律立即套用到資料庫執行個體。因此,--apply-immediately--no-apply-immediately 選項沒有效果。

您也可以呼叫下列 AWS CLI 命令來發佈 MySQL 日誌:

執行上述其中一個 AWS CLI 命令並指定下列選項:

  • --db-instance-identifier

  • --enable-cloudwatch-logs-exports

  • --db-instance-class

  • --engine

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

下列範例會修改現有的 MySQL 資料庫執行個體,以將記錄檔發佈至 CloudWatch 記錄檔。--cloudwatch-logs-export-configuration 值為 JSON 物件。此物件的金鑰為 EnableLogTypes,而其值為字串陣列,其中包含 auditerrorgeneral 以及 slowquery 的任意組合。

對於LinuxmacOS、或Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'

在Windows中:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'

下列範例會建立 MySQL 資料庫執行個體,並將記錄檔發佈至 CloudWatch 記錄檔。--enable-cloudwatch-logs-exports 值為 JSON 字串陣列。字串可以是 auditerrorgeneral 以及 slowquery 的任意組合。

對於LinuxmacOS、或Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-class db.m4.large \ --engine MySQL

在Windows中:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^ --db-instance-class db.m4.large ^ --engine MySQL

您可以使用 RDS API 來發佈 MySQL 日誌。您可以使用下列參數來呼叫 ModifyDBInstance 動作:

  • DBInstanceIdentifier

  • CloudwatchLogsExportConfiguration

注意

CloudwatchLogsExportConfiguration 參數的變更一律立即套用到資料庫執行個體。因此,ApplyImmediately 參數沒有效果。

您也可以呼叫下列 RDS API 操作來發佈 MySQL 日誌:

以下列參數來執行其中一個 RDS API 操作:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

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