查看執行個體記錄檔

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

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

查看記錄

如要查看 Cloud SQL 執行個體記錄項目的記錄,請按照下列步驟操作:

控制台

  1. 在 Google Cloud 控制台中,前往「Cloud Logging」頁面。

    前往 Cloud Logging

  2. 在頁面頂端選取現有的 Cloud SQL 專案。
  3. 在查詢建立工具中加入以下內容:
    • 資源:選取「Cloud SQL 資料庫」。在對話方塊中選取 Cloud SQL 執行個體。
    • 記錄名稱:捲動至 Cloud SQL 專區,然後為執行個體選取適當的記錄檔案。例如:
      • cloudsql.googleapis.com/postgres.log
    • 嚴重性:選取記錄層級。
    • 時間範圍:選取預設值或建立自訂範圍。

gcloud

使用 gcloud logging 指令查看記錄項目。在下方範例中,請替換 PROJECT_IDlimit 標記是選用參數,用來指出要傳回的項目數量上限。

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

查看執行個體作業記錄

您可以在「作業」窗格中查看執行個體的記錄。「作業」窗格會記錄在執行個體上執行的每項作業,並記錄以下資訊:

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

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

如何查看執行個體作業記錄:

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [Operations] (作業),變更至顯示作業記錄的窗格。
注意:作業記錄不包含使用外部管理工具 (例如 psql 用戶端) 執行的作業。只有使用 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

在Google Cloud 控制台的 Cloud Run「Logs Explorer」(記錄檔探索工具) 部分查看記錄檔。請注意,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

在「操作」>「記錄」>「記錄檔探索工具」中,使用以下查詢:

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

查看稽核記錄

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

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

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

定價

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

疑難排解

問題 疑難排解
記錄會大量使用 Cloud SQL 執行個體的 CPU 和記憶體。 記錄需要進行調整。

log_statement 標記可設為「none」,logging_collector 標記則可設為「off」。如果仍有記錄發生,可能還有其他可調整的記錄相關標記。您可以 編輯執行個體來修改這些標記。

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

例如,使用者遭到刪除,但您無法找出刪除者。 記錄顯示作業已開始,但沒有提供其他資訊。您必須啟用稽核記錄功能,才能記錄這類詳細的個人識別資訊 (PII)。

記錄檔不易閱讀。 您可以使用 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
   
PostgreSQL 記錄中找不到查詢記錄。 您必須啟用 pgaudit 標記。
  1. 透過終端機連線至資料庫:
    gcloud sql connect INSTANCE_NAME
          
  2. 執行下列指令建立擴充功能:
    CREATE EXTENSION pgaudit;
          
  3. 退出資料庫,然後在終端機執行下列指令:
    gcloud sql instances patch INSTANCE_NAME \
    --database-flags=cloudsql.enable_pgaudit=on,pgaudit.log=all