Google Cloud Backup and DR 日志集成指南:事件日志与备份恢复作业日志的 Proto 结构解析

Google Cloud Backup and DR 日志集成指南:事件日志与备份恢复作业日志的 Proto 结构解析 Google Cloud Backup and DR 日志集成指南事件日志与备份恢复作业日志的 Proto 结构解析【免费下载链接】googleapisPublic interface definitions of Google APIs.项目地址: https://gitcode.com/GitHub_Trending/go/googleapisCloud Backup and DR备份与灾难恢复服务通过一组 proto 文件对外发布其日志数据的结构化格式帮助运维与开发人员理解备份/恢复设备产生的事件、作业运行记录与合规报告。本文以 google/cloud/backupdr/logging/v1/README.md 为核心结合同目录下三个日志定义文件与 Backup Plan 相关 proto逐层拆解每类日志消息的字段语义、适用场景与底层关联帮助读者掌握如何利用这些日志进行监控、排障与报表分析。日志集成整体架构根据 google/cloud/backupdr/logging/v1/README.md 的说明该目录下的 proto 文件承担着事件日志格式文档的角色。事件日志Event Logs用于查看在 Backup and DR Service 中执行的操作其数据来源与产生机制如下备份/恢复设备Backup/Recovery Appliance产生带有事件 IDEvent ID和关联错误消息Error Message的事件在很多情况下底层组件在经历错误或告警时会额外提供错误代码Error Code及其自带的错误消息这些信息会被一并写入日志因此一条完整的事件日志通常由设备事件与底层组件错误详情两层信息构成。日志定义集中在 google/cloud/backupdr/logging/v1 目录下三个 proto 文件中按用途划分为三大类Proto 文件职责覆盖的日志消息eventlog.proto设备产生的基础事件日志Eventbdr_log.proto基于 Backup Plan 保护体系的作业与资源日志BDRBackupRestoreJobLog、BDRProtectedResourceLog、BDRBackupVaultDetailsLog、BDRBackupPlanJobLog、BDRBackupPlanAssociationJobLogreportlog.protoGCBDR 上报体系中的作业报告、合规与资源利用日志BackupRecoveryJobReportLog、UnprotectedResourceReportLog、DailyScheduleComplianceReportLog、BackupStorageUtilizationReportLog、ProtectedResource、MountedImage、ConnectorVersionReportLog三个文件统一声明package google.cloud.backupdr.logging.v1;即所有消息的完整限定名都以该命名空间开头其中 bdr_log.proto 与 reportlog.proto 还显式指定了go_package cloud.google.com/go/backupdr/logging/apiv1/loggingpb;loggingpb供 Go 客户端导入使用。设备事件日志Eventeventlog.proto 中仅定义一个消息Event它对应 README 所描述的备份/恢复设备产生的事件用于记录事件发生时刻、来源组件、关联应用与作业等信息字段类型说明event_timestring事件被上报的时间srcidint64事件在备份设备中发生的唯一 IDerror_messagestring与该事件关联的详细错误描述event_idint32与错误关联的唯一事件 IDcomponentstring事件来源组件appliance_nameint64事件发生的设备唯一 IDapp_namestring与事件关联的应用名称app_typestring与事件关联的应用类型job_namestring与事件关联的作业名称从字段设计可以看出Event覆盖了排障所需的完整上下文链通过appliance_name定位设备通过component定位组件通过event_id/srcid精确对应设备侧错误码再辅以app_name、job_name还原出错时的业务现场。基于 Backup Plan 的作业与资源日志bdr_log.protobdr_log.proto 面向使用 Backup Plan 保护的资源定义了五类日志消息覆盖作业执行—资源保护状态—备份库容量—计划变更—计划关联变更五条观测链路。备份/恢复作业日志BDRBackupRestoreJobLog该消息记录基于 Backup Plan 保护的资源的备份与恢复作业Backup and Restore Job是排障与审计的核心消息字段如下字段类型说明job_idoptional string被记录作业的标识符job_categoryoptional string作业类别job_statusoptional string作业状态source_resource_nameoptional string被保护资源的完整资源名source_resource_idoptional string源资源 IDrestore_resource_nameoptional string恢复目标资源的完整资源名仅在恢复作业中填充backup_nameoptional string备份作业中创建的备份、恢复作业中使用的备份的完整资源名resource_typeoptional string被保护资源的类型start_timeoptional google.protobuf.Timestamp作业开始时间end_timeoptional google.protobuf.Timestamp作业结束时间backup_plan_nameoptional string作业所属 Backup Plan 的完整资源名仅计划备份与临时备份Adhoc Backup填充backup_ruleoptional string备份规则名称仅计划备份与临时备份填充backup_retention_daysoptional int32备份保留天数backup_vault_nameoptional string备份库Backup Vault完整资源名incremental_backup_size_giboptional double增量备份数据拷贝量GiBerror_codeoptional int32错误代码仅在错误场景填充error_typeoptional string错误类型名称如PERMISSION_DENIED仅在错误场景填充error_messageoptional string用户可读的错误消息仅在错误场景填充backup_consistency_timeoptional google.protobuf.Timestamp备份一致性时间source_resource_locationoptional string源资源位置restore_resource_locationoptional string恢复资源位置recovery_point_timegoogle.protobuf.Timestamp恢复点时间必填data_source_namestring规范数据源名称Canonical Data Source Name必填值得注意的两点一是recovery_point_time与data_source_name为必填字段非optional是关联恢复点与数据源的锚点二是错误类字段error_code、error_type、error_message与 README 描述的错误代码错误消息机制一一对应其中error_type给出的PERMISSION_DENIED等值可直接映射到 Google API 的标准错误模型。被保护资源日志BDRProtectedResourceLog该消息记录被保护资源的当前保护状态可用于构建资源—Backup Plan—Backup Vault的当前快照字段类型说明source_resource_nameoptional string源资源完整规范名source_resource_idoptional string源资源 IDGCE 场景为实例 IDresource_typeoptional string资源类型如Compute Enginesource_resource_data_size_giboptional double被保护源资源大小GiB四舍五入保留 2 位小数current_backup_plan_nameoptional string当前关联源资源的 Backup Plan 完整规范名current_backup_rule_detailsrepeated BackupRuleDetail当前关联 Backup Plan 的备份规则详情可重复last_protected_onoptional google.protobuf.Timestamp资源最后一次受保护的时间戳current_backup_vault_nameoptional string当前关联源资源的 Backup Vault 完整资源名source_resource_locationoptional string源资源位置其中current_backup_rule_details引用内嵌消息BackupRuleDetail将计划中的规则展开为可读描述字段类型说明rule_nameoptional string备份规则名称retention_daysoptional int32备份保留天数recurrenceoptional string重复类型如Weekly、Monthly、Dailyrecurrence_scheduleoptional string重复调度描述如每月 1 日和 25 日backup_windowoptional string备份窗口如00:00 to 06:00backup_window_timezoneoptional string备份窗口时区IANA 格式如America/Los_AngelesBackupRuleDetail中的recurrence、backup_window等语义可在服务端 proto google/cloud/backupdr/v1/backupplan.proto 中找到对应定义StandardSchedule.RecurrenceType枚举了HOURLY、DAILY、WEEKLY、MONTHLY、YEARLY五种周期见 backupplan.proto#L186-L206而BackupWindow通过start_hour_of_day0-23与end_hour_of_day1-24界定每日窗口并约定0 start_hour_of_day end_hour_of_day 24、结束时刻不包含在窗口内见 backupplan.proto#L273-L288。日志中的recurrence/backup_window字符串即是对上述结构化配置的人读化摘要。备份库详情日志BDRBackupVaultDetailsLog该消息从 Backup Vault 维度汇总备份库中数据的可恢复性、容量与保护约束字段类型说明backup_vault_nameoptional stringBackup Vault 的相对资源名source_resource_nameoptional string源资源相对名resource_typeoptional string资源类型如Compute Enginecurrent_backup_plan_nameoptional string当前用于保护资源的 Backup Plan 名称first_available_restore_pointoptional google.protobuf.Timestamp首个最旧备份的时间戳last_available_restore_pointoptional google.protobuf.Timestamp最近一次备份的时间戳stored_bytes_giboptional double备份占用的存储空间GiBminimum_enforced_retention_daysoptional int32备份库中备份免于删除的最短保护时限天source_resource_locationoptional string源资源位置first_available_restore_point与last_available_restore_point组成可恢复时间区间minimum_enforced_retention_days对应备份库的强制保留策略——该字段与服务端 Backup Vault 定义见 google/cloud/backupdr/v1/backupvault.proto中的最小强制保留期语义一致可用于审计数据是否处于删除保护期内。备份计划变更作业日志BDRBackupPlanJobLog该消息记录 Backup Plan 的更新类作业如UPDATE_BACKUP_PLAN支持对计划修订的审计追踪字段类型说明job_idstring被上报作业的标识符必填job_categorystring作业类别可取UPDATE_BACKUP_PLANjob_statusstring作业状态可取RUNNING、SUCCESSFUL、FAILEDresource_typestring被保护资源类型backup_plan_namestring作业对应的 Backup Plan 规范资源名previous_backup_plan_revision_idstring旧修订的友好 ID如v0、v1previous_backup_plan_revision_namestring旧修订的完整资源名new_backup_plan_revision_idstring新修订的友好 IDnew_backup_plan_revision_namestring新修订的完整资源名start_timegoogle.protobuf.Timestamp作业开始时间end_timegoogle.protobuf.Timestamp作业结束时间workloads_affected_countint32受作业影响的工作负载总数previous_backup_rulesrepeated BackupRuleDetail旧 Backup Plan 的规则列表revised_backup_rulesrepeated BackupRuleDetail修订后 Backup Plan 的规则列表error_codeint32错误代码仅在错误场景填充error_typestring错误类型名称如PERMISSION_DENIEDerror_messagestring用户可读错误消息修订机制与服务端 proto 中 Backup Plan 的版本化设计呼应Backup Plan 消息中定义了revision_id、revision_name、revision_etag等修订字段见 backupplan.proto日志通过previous_*/new_*成对字段完整记录从哪个修订改到哪个修订配合前后规则列表即可精确还原一次计划变更的内容。备份计划关联变更日志BDRBackupPlanAssociationJobLog该消息记录 Backup Plan 与资源之间关联Backup Plan AssociationBPA的创建与更新作业字段类型说明job_idoptional string作业标识符job_categoryoptional string作业类别可取UPDATEjob_statusoptional string作业状态可取RUNNING、QUEUED、SUCCESSFUL、FAILED、SKIPPEDsource_resource_nameoptional string被保护资源完整资源名source_resource_idoptional string被保护资源 IDsource_resource_locationoptional string被保护资源位置resource_typeoptional string被保护资源类型backup_plan_association_nameoptional string作业对应的 BPA 完整资源名previous_backup_plan_nameoptional string旧 Backup Plan 完整资源名仅在更新 BPA 时填充previous_backup_plan_revision_id/previous_backup_plan_revision_nameoptional string旧 Backup Plan 修订 ID / 完整资源名new_backup_plan_nameoptional string新 Backup Plan 完整资源名更新与创建 BPA 时填充new_backup_plan_revision_id/new_backup_plan_revision_nameoptional string新 Backup Plan 修订 ID / 完整资源名start_time/end_timeoptional google.protobuf.Timestamp作业开始 / 结束时间error_code/error_type/error_messageoptional错误代码 / 类型 / 消息仅在错误场景填充注意job_status多出的QUEUED与SKIPPED状态反映了关联变更作业会被排队执行、且可能在条件不满足时被跳过的实际行为排查时应结合该状态字段判断作业未成功是失败、排队超时还是被主动跳过。GCBDR 上报体系日志reportlog.protoreportlog.proto 定义了作为 GCBDR Reporting 发布的多类报告日志覆盖作业执行报告、未保护资源、计划合规、存储利用、受保护资源清单、挂载镜像与连接器版本等主题。备份/恢复作业报告BackupRecoveryJobReportLog该消息是作业级报告的核心载体字段数量最多40 个按语义可归纳为五组作业身份与调度job_name、job_id、job_categoryBackup 或 Recovery Job、job_type、job_status、log_backup日志备份是仅日志、仅 DB 还是两者、backup_typeLog、Incremental 或 Full Copy时间维度job_start_time、job_end_time、job_queued_time、job_duration_in_hours、recovery_point、backup_consistencycrash consistent 或 application consistent资源与策略归属resource_name、resource_id、resource_type、backup_rule_policy_name、backup_rule_policy_id、backup_plan_policy_template执行环境hostname、host_id、appliance_name、target_host_name、target_host_id、target_appliance_name、target_appliance_id、target_pool_name、target_pool_id容量与性能指标resource_data_size_in_gib、data_copied_in_gib、onvault_pool_storage_consumed_in_gib、pre_compress_in_gib、compression_ratio、data_change_rate、snapshot_disk_size_in_gib、data_written_in_gib、data_sent_in_gib失败归因error_code、error_message、job_initiation_failure_reason作业未运行时给出未启动原因。其中compression_ratio定义为压缩后大小与压缩前大小的比值、data_change_rate为备份拷贝数据量占应用数据量的百分比data_written_in_gib与data_sent_in_gib分别刻画远程写入量与网络发送量可用于容量规划与网络带宽分析。字符串型时间字段如job_start_time与 bdr_log.proto 中的google.protobuf.Timestamp类型形成对比使用者在做时间过滤与排序时需注意两种表示方式的差异。未保护资源报告UnprotectedResourceReportLog该消息上报被发现但尚未纳入保护的资源除必填的资源归属信息外还提供发现溯源必填字段host_name、resource_name、resource_type、discovered_on首次发现日期、discovered_by发现设备名称、appliance_id、resource_id、host_id可选字段instance_name针对数据库实例成员的实例名。对运维团队而言该日志可直接用于生成保护覆盖率报表识别遗漏保护的高风险资源。每日调度合规报告DailyScheduleComplianceReportLog该消息按天评估策略是否在备份窗口内按期执行是 SLA 合规审计的关键数据源必填字段resource_name、resource_type、backup_rule_policy_name、backup_plan_policy_template、host_name、appliance_name、date上报合规的日期、backup_window_start_time、job_type、status策略合规状态、comment状态原因描述、resource_id、host_id、backup_plan_policy_template_id、backup_rule_policy_id、appliance_id。结合backup_window_start_time与 backupplan.proto 中BackupWindow的定义可做交叉验证若作业未在窗口内启动日志会记录对应状态与comment说明原因。备份存储利用报告BackupStorageUtilizationReportLog该消息按存储池维度上报容量使用情况用于容量监控与扩容决策字段类型说明appliance_nameoptional string设备名称storage_typestring存储资源类型必填pool_namestring存储池名称必填total_capacity_in_gibdouble存储池总容量GiB必填used_capacity_in_gibdouble存储池已用容量GiB必填utilization_percentagedouble存储池利用率百分比必填appliance_idstring设备 ID必填利用utilization_percentage used_capacity_in_gib / total_capacity_in_gib的关系可对上报数据的自洽性做校验。受保护资源清单ProtectedResource该消息以扁平字段承载受保护资源的完整档案覆盖保护策略、数据量与流式快照streamsnap场景下的跨设备信息身份与策略resource_name、resource_type、resource_id、backup_inclusion_or_exclusion备份包含/排除、backup_plan_policy_template_id、backup_plan_policy_template、sla_id、backup_plan_restrictions、policy_overrides宿主与设备host_id、host_name、appliance_name、appliance_id保护时间与数据量protected_on、protected_data_in_gib、onvault_in_gib、recovery_pointstreamsnap 相关可选source_appliance、source_appliance_id、remote_appliance、remote_appliance_id。挂载镜像日志MountedImage该消息记录恢复演练与数据挂载场景一条记录描述一个被挂载的镜像字段覆盖源资源、挂载目标、镜像属性、时间与容量源与镜像source_resource_name、source_resource_id、source_image_name、source_image_type、mounted_image_name、recovery_point_date、resource_type、restorable_object可恢复对象、read_mode只读模式、image_expiration_date镜像过期日期设备与集群appliance_name、appliance_id挂载目标source_host_name、source_host_id、mounted_host_name、mounted_host_id、mounted_resource_name、mounted_resource_label、user_name时间与容量last_mount_date、mounted_image_age_in_days、resource_virtual_size_in_gib、storage_consumed_in_gib、resource_size_in_gib。连接器版本报告ConnectorVersionReportLog该消息上报备份代理Connector的安装与升级状态用于版本合规管理字段类型说明appliance_name/appliance_idstring设备名称 / ID必填host_name/host_idstring主机名称 / ID必填host_os_typeoptional string主机操作系统类型host_ip_addressstring主机 IP 地址必填db_authenticationoptional string数据库认证方式installed_versionstring已安装版本必填available_versionoptional string可用版本version_checkstring版本检查结果必填disk_preferencestring磁盘偏好必填transportstring传输方式必填通过对比installed_version与available_version即可快速筛选出需要升级的连接器主机。日志 proto 的构建与多语言产出日志定义以 Bazel 目标的形式组织在 google/cloud/backupdr/logging/v1/BUILD.bazel 中proto_library(logging_proto)聚合三个 proto 源文件并依赖com_google_protobuf//:timestamp_proto对应google.protobuf.Timestamp的引入随后通过java_proto_library、go_grpc_library、py_gapic_library、php_proto_library、ruby_proto_library、csharp_proto_library、cc_proto_library等规则生成各语言的 proto 代码与客户端库产物命名形如google-cloud-backupdr-logging-v1-java、google-cloud-backupdr-logging-v1-go、google-cloud-backupdr-logging-v1-py等。这意味着无论使用 Java、Go、Python、PHP、Ruby、C# 还是 C都可以从同一份 proto 定义获得类型安全的日志结构体便于在各自的数据管道中解析与建模。从构建配置还能看到Go 库的 import path 为cloud.google.com/go/backupdr/logging/apiv1/loggingpb与 proto 内go_package声明一致Python 客户端通过py_gapic_library生成传输方式配置为grpcrest。日志消费与排障实践建议综合上述消息定义在实际使用中可参考以下实践排障路径按Event.event_id/srcid定位设备侧原始事件再以job_id关联BDRBackupRestoreJobLog或BackupRecoveryJobReportLog中的error_code、error_type、error_message即可形成设备事件 → 作业状态 → 底层错误的完整证据链审计变更利用BDRBackupPlanJobLog的previous_*/new_*修订对与规则列表还原每次 Backup Plan 变更利用BDRBackupPlanAssociationJobLog追踪资源与计划的关联变更合规与容量DailyScheduleComplianceReportLog提供按日合规状态BackupStorageUtilizationReportLog提供存储池利用率UnprotectedResourceReportLog暴露保护盲区三者组合即可构建覆盖是否按期备份、容量是否充足、资源是否漏保护的运维仪表盘恢复能力评估BDRBackupVaultDetailsLog的first/last_available_restore_point与minimum_enforced_retention_days决定可恢复区间与数据删除保护MountedImage则记录恢复演练的实际情况。需要说明的是本目录 proto 定义的仅是日志的数据格式契约日志的实际产生、投递与查询依赖 Backup and DR Service 运行时及其日志导出通道本文所有字段语义均直接取自 bdr_log.proto、eventlog.proto、reportlog.proto 中的注释与类型声明并与 google/cloud/backupdr/v1/backupplan.proto 等服务端定义相互印证可作为二次开发与日志解析的权威依据。【免费下载链接】googleapisPublic interface definitions of Google APIs.项目地址: https://gitcode.com/GitHub_Trending/go/googleapis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考