本页面介绍如何查看 Cloud SQL 实例的自动备份的审核日志。
您可以使用审核日志执行以下操作:
- 查看审核日志以验证备份是否成功完成。
- 配置基于日志的提醒,以接收有关备份状态的通知。
查看审核日志
您可以使用 Google Cloud 控制台、gcloud CLI
或 API 查看审核日志,以验证备份是否在备份时段内成功完成。
在 Google Cloud 控制台中,选择日志记录,然后选择日志浏览器。
如需过滤 Cloud SQL 实例的自动备份的审核日志,请运行以下查询:
logName="projects/
PROJECT_ID /logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="cloudsql.instances.automatedBackup" resource.type="cloudsql_database"将 PROJECT_ID 替换为您的 Google Cloud 项目的 ID。
第一个表达式过滤系统事件审核日志。第二个表达式过滤自动备份的审核日志。最后一个表达式过滤 Cloud SQL 实例的审核日志。
如需详细了解如何使用 Google Cloud 控制台查询审核日志,请参阅查看日志。
查看在备份时段内创建的备份的状态。此状态显示在
windowStatus
字段中。如需查看此字段,请完成以下步骤:- 点击审核日志。
- 点击
metadata
字段。
如需过滤 Cloud SQL 实例的自动备份的审核日志,请运行以下查询:
gcloud logging read \ "logName=projects/
PROJECT_NAME /logs/cloudaudit.googleapis.com%2Fsystem_event AND protoPayload.methodName=cloudsql.instances.automatedBackup AND resource.type=cloudsql_database" \ --project=PROJECT_NAME 将 PROJECT_NAME 替换为您的 Google Cloud 项目的名称。
第一个表达式过滤系统事件审核日志。第二个表达式过滤自动备份的审核日志。最后一个表达式过滤 Cloud SQL 实例的审核日志。
如需详细了解如何使用
gcloud
查询审核日志,请参阅查看日志。查看在备份时段内创建的备份的状态。此状态显示在
windowStatus
字段中。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID。
对于请求 JSON 正文,第一个表达式过滤系统事件审核日志。第二个表达式过滤自动备份的审核日志。最后一个表达式过滤 Cloud SQL 实例的审核日志。
如需详细了解如何使用 API 查询审核日志,请参阅查看日志。
HTTP 方法和网址:
POST https://logging.googleapis.com/v2/entries:list
请求 JSON 正文:
{ "resourceNames": [ "projects/PROJECT_ID " ], "pageSize": 5, "filter": "logName=projects/PROJECT_ID /logs/cloudaudit.googleapis.com%2Fsystem_event AND protoPayload.methodName = cloudsql.instances.automatedBackup AND resource.type=cloudsql_database", "orderBy": "timestamp desc" }
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://logging.googleapis.com/v2/entries:list"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://logging.googleapis.com/v2/entries:list" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{ "entries": [ { "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "OK" }, "authenticationInfo": {}, "requestMetadata": { "requestAttributes": {}, "destinationAttributes": {} }, "serviceName": "cloudsql.googleapis.com", "methodName": "cloudsql.instances.automatedBackup", "resourceName": "projects/PROJECT_ID /instances/INSTANCE_NAME ", "metadata": { "windowStartTime": "2022-12-15T13:00:00Z", "message": "", "windowStatus": "STATUS_SUCCEEDED", "@type": "type.googleapis.com/speckle.AutomatedBackupEventLog", "windowEndTime": "2022-12-15T17:00:00Z", "backupCompletionTime": "2022-12-15T14:11:57.347Z", "backupStartTime": "2022-12-15T14:11:16.631Z" } }, "insertId": "LOG_ENTRY_UNIQUE_IDENTIFIER ", "resource": { "type": "cloudsql_database", "labels": { "region": "REGION_NAME ", "project_id": "PROJECT_ID ", "database_id": "DATABASE_ID " } }, "timestamp": "2022-12-15T14:11:57.391565Z", "severity": "INFO", "logName": "projects/PROJECT_ID /logs/cloudaudit.googleapis.com%2Fsystem_event", "receiveTimestamp": "2022-12-15T14:11:57.785814800Z" }, ], }
如需详细了解 insertId
字段的 LOG_ENTRY_UNIQUE_IDENTIFIER,请参阅 LogEntry。
查看在备份时段内创建的备份的状态。此状态显示在 windowStatus
字段中。
自动备份状态
STATUS_SUCCEEDED
:自动备份已成功完成。STATUS_ATTEMPT_FAILED
:Cloud SQL 尝试创建备份,但备份未启动或失败。此状态的原因包括:- 实例正在运行另一个备份。
- 备份位置受组织政策的限制。
- 实例备份已完成,但出现错误。
- 当 Cloud SQL 尝试创建备份时,实例未在运行。
STATUS_FAILED
:实例的自动备份尚未成功完成或无法在备份时段内完成。例如,如果您启用了自动备份,并安排了凌晨 1:00 到 5:00 之间的备份时段,那么如果您在此时间范围内执行许多
EXPORT
操作,备份可能会失败。如果与长时间运行EXPORT
操作之间的冲突过多,自动备份也可能会失败。如果 Cloud SQL 在备份时段内多次尝试创建备份,但因以下原因无法创建备份:
STATUS_ATTEMPT_FAILED
,Cloud SQL 会生成另一个审核日志,并将windowStatus
字段设置为STATUS_FAILED
。STATUS_SKIPPED
:自上次成功备份以来,Cloud SQL 实例已停止运行。因此,系统未创建新的自动备份。
配置基于日志的提醒
您可以配置基于日志的提醒,以接收有关备份状态的通知。
- 如果备份的状态为
STATUS_SUCCEEDED
,则您可以收到通知以进行跟踪。 - 如果备份状态为
STATUS_FAILED
或STATUS_ATTEMPT_FAILED
,您将会收到通知,让您根据日志条目中显示的消息采取纠正措施。您还可以在下一个预定备份时段之前进行按需备份。 - 如果备份的状态为
STATUS_SKIPPED
,则您将会收到通知,让您重启 Cloud SQL 实例。