查看執行個體記錄檔

本頁說明如何使用 Cloud Logging 尋找、查看及查詢 Cloud SQL 執行個體的記錄。

Cloud SQL 使用 Cloud Logging。如需完整資訊,請參閱 Cloud Logging 說明文件,並查看 Cloud SQL 查詢範例

查看記錄

您可以啟用 general_log 旗標,並將 log_output 旗標設為 FILE,在一般記錄檔中查看資料庫執行個體執行的 SQL 查詢,包括終端使用者直接執行的 SQL 查詢。

如要查看 Cloud SQL 執行個體記錄項目的記錄:

控制台

  1. 前往 Google Cloud 控制台的「Cloud Logging」頁面。

    前往 Cloud Logging

  2. 在頁面頂端選取現有的 Cloud SQL 專案。
  3. 在查詢建立工具中新增下列項目:
    • 資源:選取「Cloud SQL Database」(Cloud SQL 資料庫)。在對話方塊中,選取 Cloud SQL 執行個體。
    • 記錄名稱:捲動至 Cloud SQL 區段,然後選取執行個體的適當記錄檔。例如:
      • cloudsql.googleapis.com/mysql-general.log
      • cloudsql.googleapis.com/mysql.err
    • 嚴重性:選取記錄層級。
    • 時間範圍:選取預設範圍或建立自訂範圍。

gcloud

使用 gcloud logging 指令查看記錄項目。在下方範例中,請將 PROJECT_ID 換成您的 API 金鑰。limit 標記是選用參數,表示要傳回的項目數量上限。

gcloud logging read "resource.type=cloudsql_database" \
--project=PROJECT-ID \
--limit=10 \
--format=json

查看執行個體作業記錄

您可以在「Operations」(作業) 窗格中查看執行個體的記錄。 「Operations」(作業) 窗格會記錄對執行個體執行的每項作業,並提供下列資訊:

  • 作業完成時間,以您當地的時區報告。
  • 作業類型。
  • 作業狀態。
  • 說明作業結果的訊息。

如果作業失敗,您可以使用訊息來疑難排解問題。

如要查看執行個體作業記錄,請執行下列操作:

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [Operations] (作業),變更至顯示作業記錄的窗格。
注意:作業記錄不包含使用外部管理工具 (例如 mysql 用戶端) 執行的作業。只有透過 Google Cloud 主控台、gcloud 指令列工具或 Cloud SQL Admin API 執行的使用者管理和密碼變更作業,才會顯示在作業記錄中。

查看應用程式記錄檔

連線至 Cloud SQL 的應用程式會將記錄檔儲存在不同位置。

App Engine (彈性環境)

在「Compute」>「App Engine」>「Services」中:

  • 在服務清單中找出您的服務。
  • 按一下「工具」下拉式選單。
  • 選取「記錄」

在 Google Cloud 控制台的「Operations」>「Logging」>「Logs explorer」部分,使用下列查詢:

resource.type="gae_app"
resource.labels.module_id="default"

Cloud Run

在 Cloud Run 記錄檔探索工具部分查看記錄檔。Google Cloud 請注意,Cloud Run 只會回報 Cloud SQL 驗證 Proxy 的錯誤訊息。請使用類似下方的查詢:

resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"

Cloud SQL 驗證 Proxy

在「Operations」>「Logging」>「Logs explorer」中,使用下列查詢:

log_id("appengine.googleapis.com/cloud-sql-proxy")

查看稽核記錄

您可以查看 Cloud SQL 執行個體的下列稽核記錄類型:

  • 管理員活動:包括寫入中繼資料或設定資訊的管理員作業。您無法停用這些記錄。
  • 資料存取:包括讀取中繼資料或設定資訊的管理員作業。這些記錄也包含讀取或寫入使用者提供資料的作業。如要接收資料存取稽核記錄,請明確啟用這類記錄
  • 系統事件:識別 Google Cloud 修改資源設定的自動化動作。您無法停用這些記錄。

如要進一步瞭解如何查看管理員活動、資料存取和系統事件稽核記錄,請參閱「查看記錄」。

定價

如要進一步瞭解 Cloud Logging 定價,請參閱 Cloud Logging 定價摘要

疑難排解

問題 疑難排解
找不到稽核記錄。 只有在作業是經過驗證的使用者驅動 API 呼叫,且會建立、修改或讀取使用者建立的資料,或是作業會存取資源的設定檔或中繼資料時,系統才會寫入資料存取記錄。
記錄中找不到作業資訊。 想進一步瞭解某項作業。

舉例來說,使用者遭到刪除,但您無法找出刪除者。 記錄會顯示作業已啟動,但不會提供任何其他資訊。您必須啟用稽核記錄,系統才會記錄這類詳細的個人識別資訊 (PII)。

記錄檔占用大量磁碟空間。 有三種記錄檔會使用磁碟空間:重做記錄、一般記錄和二進位記錄。

連線至資料庫,並執行下列指令,查看各類型的詳細資料:

SHOW VARIABLES LIKE 'innodb_log_file%';

SELECT ROUND(SUM(LENGTH(argument)/POW(1024,2),2)
AS GB from mysql.general_log;

SHOW BINARY LOGS;
    
記錄檔難以解讀。 您希望以 JSON 或文字格式查看記錄。您可以使用 gcloud logging read 指令搭配 Linux 後續處理指令,下載記錄。

如要以 JSON 格式下載記錄,請按照下列步驟操作:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d" \
> downloaded-log.json
    

如要以文字格式下載記錄,請按照下列步驟操作:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \
| .textPayload' \
--order=asc
> downloaded-log.txt