文件系统转移日志

本文档介绍了当前的文件系统转移日志格式。

查看转移日志

文件系统转移会生成详细的转移日志,您可以用来确认转移作业的结果。每个作业都会生成一组传输日志,这些日志存储在转移者的 Cloud Storage 存储桶中:源存储桶、目标存储桶或中间存储桶,具体取决于转移方向。

日志是在转移作业运行时生成的。通常,作业完成后 15 分钟内可获得完整日志。

查看 Cloud Storage 存储桶中的日志

转移日志存储在转移作业的 Cloud Storage 存储桶中,路径如下:

bucket-name/storage-transfer/logs/transferJobs/job-name/transferOperations/operation-name

其中:

  • bucket-name 是此转移作业涉及的 Cloud Storage 存储桶的名称。
  • job-name 是作业名称,如作业列表中所示。
  • operation-name 是单个转移操作的名称,由 IS08601 时间戳和生成的 ID 组成。

日志会汇总并存储为对象。每批日志均按其创建时间命名。例如:

my bucket/storage-transfer/logs/transferOperations/job1/2019-10-19T10_52_56.519081644-07_00.log

对转移日志运行 BigQuery 查询

如需对转移日志运行 BigQuery 查询,请执行以下操作:

  1. 将 CSV 日志数据加载到 BigQuery

  2. 运行 BigQuery 查询

示例查询

显示尝试转移的文件数量以及转移失败或成功的文件数量

select ActionStatus, count(*) as num_files
from big-query-table
where Action="TRANSFER"
group by 1;

其中 big-query-table 是包含转移日志的 BigQuery 表的名称。

显示转移失败的所有文件

select Src_File_Path
from big-query-table
where Action="TRANSFER" and ActionStatus="FAILED";

其中 big-query-table 是包含转移日志的 BigQuery 表的名称。

显示已成功转移的每个文件的校验和与时间戳

select Timestamp, Action, ActionStatus, Src_File_Path, Src_File_Size,
Src_File_Crc32C, Dst_Gcs_BucketName, Dst_Gcs_ObjectName, Dst_Gcs_Size,
Dst_Gcs_Crc32C, Dst_Gcs_Md5
from big-query-table
where Action="TRANSFER" and ActionStatus="SUCCEEDED";

其中 big-query-table 是包含转移日志的 BigQuery 表的名称。

显示转移失败的目录的所有错误信息

select FailureDetails_ErrorType, FailureDetails_GrpcCode, FailureDetails_Message
from big-query-table
where Action="FIND" and ActionStatus="FAILED";

其中 big-query-table 是包含转移日志的 BigQuery 表的名称。

格式说明

文件系统转移日志以制表符分隔值 (TSV) 格式保存,并包含显示各字段名称的标题行。字段显示的顺序通常是稳定的,但无法保证,必须通过标题行推断出来。

每一行代表一条日志记录,即整体转移操作的部分状态更新。

下表介绍了日志文件中的字段:

日志字段 说明
时间戳 我们记录事件时符合 ISO 8601 标准的时间戳。
操作名称 完全限定的操作名称。
操作

描述此特定任务的操作。以下项之一:

  • FIND:查找待办事项,例如在本地列出文件
  • TRANSFER:转移文件
  • DELETE:删除目标位置中的文件
ActionStatus

操作的高级状态。以下项之一:

  • SUCCEEDED:操作已成功完成。
  • FAILED:操作失败。如需了解失败的更多详情,请参阅 FailureDetails 字段。
FailureDetails.ErrorType 表示遇到的错误类型的字符串。例如,FILE_NOT_FOUND。仅在遇到错误时填充。
FailureDetails.GrpcCode Google RPC 代码的字符串值。例如,FAILED_PRECONDITION。仅在遇到错误时填充。
FailureDetails.Message 关于失败的人类可读错误消息。仅在遇到错误时填充。
Src.Type 用于描述来源的存储系统类型的字符串。始终为 ON_PREM
Src.File.Path 转移的本地文件的路径。
Src.File.LastModified 本地化文件的 POSIX 修改时间 (mtime)。
Src.FileSize 文件大小(以字节为单位)。
Src.File.Crc32C 文件内容的 CRC32C 校验和。
Dst.Type 描述目标存储系统类型的字符串。始终为 GCS
Dst.Gcs.BucketName 目标 Cloud Storage 存储桶名称。
Dst.Gcs.ObjectName 目标对象的对象前缀。
Dst.Gcs.LastModified 目标对象的 POSIX 修改时间 (mtime)。
Dst.Gcs.Size 对象大小,以字节为单位。
Dst.Gcs.Crc23C 对象内容的 CRC32C 校验和。
Dst.Md5 Cloud Storage 中最终对象的 MD5 校验和。

日志条目示例

以下是两行日志输出(标头和数据行)的示例:

Timestamp       OperationName   Action  ActionStatus    FailureDetails.ErrorType        FailureDetails.GrpcCode FailureDetails.Message     Src.Type        Src.File.Path   Src.File.LastModified   Src.File.Size   Src.File.Crc32C Dst.Type   Dst.Gcs.BucketName      Dst.Gcs.ObjectName      Dst.Gcs.LastModified    Dst.Gcs.Size    Dst.Gcs.Crc32C  Dst.Gcs.Md5
2019-10-18T21:06:17Z    transferOperations/agent-manual_transferJobs/OPI1494275376193533620_0000000001571432448     TRANSFER        SUCCEEDED                               ON_PREM_FILE    /mnt/disks/disk-1/directory1/file.txt      1561409931      406     3089075447      GCS_OBJECT      destination-gcs-bucket    file.txt  1571432776      406     3089075447      FDjya7dWbd0OrgnZ7g9ZJw==