本頁面說明如何使用 Cloud Logging 查看及查詢 Cloud SQL 執行個體的記錄。
Cloud Logging 會自動收集 Cloud SQL 執行個體的記錄資料。您可以使用 Logging 查詢、查看及分析記錄資料,協助疑難排解問題並提升觀測能力。詳情請參閱 Cloud Logging 說明文件,並查看 Cloud SQL 查詢範例。
事前準備
如要取得使用 Logs Explorer 查看記錄項目所需的權限,請要求管理員授予您下列 IAM 角色:
-
如要查看
_Requiredbucket 中的記錄項目,以及_Defaultbucket 上_Default檢視畫面中的記錄項目,或選取記錄範圍: 專案、資料夾或組織的記錄檢視器 (roles/logging.viewer)。 -
如要查看
_Required和_Defaultbucket 中的所有記錄項目:專案、資料夾或組織的私人記錄檢視者 (roles/logging.privateLogViewer)。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
查看記錄
如要查看 Cloud SQL 執行個體的記錄項目,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Cloud Logging」頁面。
- 選取 Cloud SQL 專案。
- 在「Query」(查詢) 窗格中,選取下列選項:
- 所有資源:選取「Cloud SQL 資料庫」。在對話方塊中選取 Cloud SQL 執行個體。
- 所有記錄名稱:前往 Cloud SQL 專區,選取執行個體適用的記錄檔。例如:
cloudsql.googleapis.com/sqlagent.outcloudsql.googleapis.com/sqlserver.err
- 所有嚴重程度:選取嚴重性等級。例如,選取
Error即可查看嚴重性等級至少為Error的記錄。 - 時間範圍選取器:選取預設時間選項、指定自訂開始和結束時間,或以特定時間戳記為中心設定時間範圍。
gcloud
使用 gcloud logging 指令查看記錄項目。在以下範例中,請替換 PROJECT_ID。limit 旗標是選用參數,用於指定要傳回的項目數量上限。
gcloud logging read "resource.type=cloudsql_database" \ --project=PROJECT-ID \ --limit=10 \ --format=json
查看執行個體作業記錄
您可以在「Operations」(作業) 窗格中查看執行個體的記錄。「Operations」(作業) 窗格會記錄在執行個體上執行的每項作業,並提供下列資訊:
- 作業完成時間,以您當地的時區報告。
- 作業類型。
- 作業狀態。
- 說明作業結果的訊息。
如果作業失敗,您可以使用訊息排解問題。
如要查看執行個體作業記錄,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 點選執行個體名稱,開啟執行個體的「總覽」頁面。
- 前往「Operations and logs」(作業和記錄) 窗格,查看作業記錄。
查看應用程式記錄檔
連線至 Cloud SQL 的應用程式會將記錄檔儲存在不同位置。
App Engine (彈性環境)
如要查看 App Engine 服務的記錄,請按照下列步驟操作:
前往 Google Cloud 控制台的 App Engine「Services」(服務) 頁面:
從表格中選取服務,然後按一下「診斷」欄中的「記錄檔」。
系統會將您重新導向至 Logs Explorer,並執行查詢來擷取 App Engine 服務的記錄。
如要在Google Cloud 控制台的「Logs Explorer」部分查看 App Engine 記錄,請使用類似下列的查詢:
resource.type="gae_app"
resource.labels.module_id="default"
Cloud Run
如要在Google Cloud 控制台的「Logs Explorer」部分查看 Cloud Run 記錄,請使用類似下列的查詢:
resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"
請注意,Cloud Run 只會回報 Cloud SQL Auth Proxy 的錯誤訊息。
Cloud SQL Auth Proxy
如要在Google Cloud 控制台的「Logs Explorer」部分查看 Cloud SQL Auth Proxy 記錄,請使用類似下列的查詢:
log_id("appengine.googleapis.com/cloud-sql-proxy")
查看稽核記錄
Cloud SQL 會寫入 Cloud 稽核記錄,記錄各項資源的管理活動和資料存取。您可以查看 Cloud SQL 執行個體的下列稽核記錄類型:
- 管理員活動:使用者驅動的 API 呼叫或其他動作,修改資源設定或中繼資料時寫入的記錄項目。您無法停用這些記錄。
- 資料存取:由 API 呼叫寫入的記錄項目,用於讀取資源的設定或中繼資料。這類記錄也包含讀取或寫入使用者提供資料的作業。如要寫入資料存取稽核記錄,您必須啟用這類記錄。
- 系統事件:由 Google Cloud 系統和代管服務代理寫入的記錄項目,用於修改資源設定。您無法停用這些記錄。
如要進一步瞭解如何查看 Cloud SQL 稽核記錄,包括稽核方法的完整清單,請參閱「SQL Server 適用的 Cloud SQL 稽核記錄」。
定價
如要進一步瞭解 Cloud Logging 定價,請參閱「Cloud Logging 定價摘要」。
疑難排解
| 問題 | 疑難排解 |
|---|---|
| 找不到稽核記錄。 | 只有在作業是經過驗證的使用者驅動 API 呼叫,且會建立、修改或讀取使用者建立的資料,或作業會存取資源的設定檔或中繼資料時,系統才會寫入資料存取記錄。 |
| 記錄中找不到作業資訊。 | 您想進一步瞭解某項作業。
舉例來說,某位使用者遭到刪除,但您找不到刪除者。 記錄檔會顯示作業已啟動,但不會提供任何其他資訊。您必須啟用稽核記錄,系統才會記錄這類詳細資訊和個人識別資訊 (PII)。 |
系統會篩除 SQL Server 適用的 Cloud SQL 執行個體 error.log 記錄中的部分記錄。 |
篩選後的記錄包括沒有時間戳記的 AD 記錄,以及 Login failed for user 'x'. Reason: Token-based server access
validation failed with an infrastructure error. Login lacks connect endpoint
permission. [CLIENT: 127.0.0.1]。這些記錄可能會造成混淆,因此已篩除。 |
| 記錄檔難以閱讀。 | 您偏好以 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 如要下載 TEXT 格式的記錄: 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 |