访问对象存储OSS的过程中会产生大量的访问日志,您可以通过日志转存功能将这些日志按照固定命名规则,以小时为单位生成日志文件写入您指定的Bucket。您可以通过logging命令开启、查询、关闭Bucket的日志转存配置。

说明

开启日志转存

如果Bucket此前未开启过日志转存,则使用该命令将为Bucket开启日志转存。如果Bucket此前已开启日志转存,则使用该命令将直接覆盖已有的日志转存配置。

开启或修改日志转存配置的命令格式及示例如下:

  • 命令格式
    ./ossutil64 logging --method put oss://bucketname   oss://targetbucket/[prefix]

    参数及选项说明如下:

    配置项 说明
    bucketname 生成日志的源Bucket名称。
    targetbucket 存储日志文件的目标Bucket名称。
    prefix 日志文件存储的目录。如果指定此项,则日志文件将保存在目标Bucket的指定目录下。如果不指定此项,则日志文件将保存在目标Bucket的根目录下。
    注意 生成日志的源Bucket和存储日志的目标Bucket可以相同也可以不同,但是必须位于同一账号下的相同地域。
  • 使用示例

    将源存储空间srcbucket产生的日志文件保存至目标存储空间destbucket的根目录下。

    ./ossutil64 logging --method put oss://srcbucket  oss://destbucket

    将源存储空间srcbucket产生的日志文件保存至目标存储空间destbucket的根目录下的子目录destdir。

    ./ossutil64 logging --method put oss://srcbucket  oss://destbucket/destdir

    以下输出结果表明已为srcbucket开启日志转存。

    0.098601(s) elapsed

查看日志转存配置

  • 命令格式
    ./ossutil64 logging --method get oss://bucketname [local_xml_file]

    参数说明如下:

    参数 说明
    bucketname 待获取日志转存配置的Bucket名称。
    local_xml_file 存放日志转存配置的本地文件名称,例如localfile.txt。如果未指定此参数,则日志转存配置将直接输出到屏幕。
  • 使用示例
    • 获取存储空间examplebucket的日志转存配置,并将配置结果写入本地文件localfile.txt
      ./ossutil64 logging --method get oss://examplebucket localfile.txt

      以下输出结果表明已成功获取日志转存配置。

      0.212407(s) elapsed
    • 获取存储空间examplebucket的日志转存配置,并将配置结果直接输出屏幕。
      ./ossutil64 logging --method get oss://examplebucket

      以下输出结果表明examplebucket的日志文件已转存至destbucket的根目录下。

      <?xml version="1.0" encoding="UTF-8"?>
        <BucketLoggingStatus>
            <LoggingEnabled>
                <TargetBucket>destbucket</TargetBucket>
                <TargetPrefix></TargetPrefix>
            </LoggingEnabled>
        </BucketLoggingStatus>
      
      
      0.109979(s) elapsed

关闭日志转存

在您关闭日志转存功能前,OSS的日志文件会一直生成。请结合生命周期规则及时清理不再需要的日志文件,以减少您的存储费用。详情请参见生命周期规则介绍

  • 命令格式
    ./ossutil64 logging --method delete oss://bucketname

    bucketname表示待关闭日志转存功能的Bucket名称。

  • 使用示例

    关闭存储空间examplebucket的日志转存功能。

    ./ossutil64 logging --method delete oss://examplebucket

    以下输出结果表明examplebucket已关闭日志转存功能。

    0.212409(s) elapsed

通用选项

当您需要通过命令行工具ossutil管理不同地域的Bucket时,可以通过-e选项切换至指定Bucket所属的Endpoint。当您需要通过命令行工具ossutil管理多个阿里云账号下的Bucket时,可以通过-i选项切换至指定账号的AccessKey ID,并通过-k选项切换至指定账号的AccessKey Secret。

例如您需要将另一个阿里云账号下,华东1(杭州)地域下源存储空间testbucket产生的日志转存至目标存储空间destbucket,命令如下:

./ossutil64 logging --method put oss://testbucket  oss://destbucket -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

有关此命令其他通用选项的更多信息,请参见通用选项