访问对象存储OSS的过程中会产生大量的访问日志,您可以通过日志转存功能将这些日志按照固定命名规则,以小时为单位生成日志文件写入您指定的Bucket。您可以通过logging命令开启、查询、关闭Bucket的日志转存配置。
注意事项
- 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门。
- 关于日志转存的更多信息,请参见日志转存。
- 当您在OSS ON云盒中使用该命令时:
- 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
- 在本文已有示例的基础上添加--sign-version、--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项。
开启日志转存
如果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
- 获取存储空间examplebucket的日志转存配置,并将配置结果写入本地文件
关闭日志转存
在您关闭日志转存功能前,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****
关于此命令的其他通用选项的更多信息,请参见通用选项。