Logging
Scenarios
You can enable logging to facilitate analysis or audit as required. Access logs enable a bucket owner to analyze the property, type, or trend of requests to the bucket in depth. With logging enabled, OBS automatically logs access requests for the bucket, and writes the generated log files to the specified bucket.
You need to specify a bucket for storing log files when enabling logging for a bucket. Log files can be stored in any bucket in the region where the logged bucket resides, including the logged bucket itself. To better manage logs, you are advised to store log files in a bucket other than the logged bucket. If log files are stored in the logged bucket, OBS creates additional logs for writing log files to the bucket, which takes up extra storage space that will increase your costs and makes it more difficult for you to locate required logs.
- Uploading bucket logs to the target bucket incurs billable PUT requests. For details about the pricing, see Requests.
- After logging is configured for a bucket, you can view the bucket's operation logs in the log storage bucket in approximately 15 minutes.
OBS can record bucket access requests in logs for request analysis and log audit.
Logs occupy some OBS storage space rented by users, incurring extra fees. For this reason, the default policy is that OBS does not collect bucket access logs.
The log files are generated and uploaded by OBS to the bucket where the logs are stored. Therefore, OBS requires the authorization to upload the generated log files. Therefore, before configuring logging for a bucket, you need to create an IAM agency for OBS and add this IAM agency when configuring logging for the bucket. By default, when configuring permissions for an IAM agency, you only need to grant the IAM agency the permission to upload log files to the bucket where log files are stored. In the following example, mybucketlogs is the name of the bucket for storing log files. If the default encryption function is enabled for the log storing bucket, the IAM agency also requires the KMS Administrator permissions in the region where the log storing bucket resides.
{ "Version": "1.1", "Statement": [ { "Action": [ "obs:object:PutObject" ], "Resource": [ "OBS:*:*:object:mybucketlogs/*" ], "Effect": "Allow" } ] }
The following shows a sample access log record:
787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - -
The access log of each bucket contains the following information.
Name |
Example |
Description |
---|---|---|
BucketOwner |
787f2f92b20943998a4fe2ab75eb09b8 |
Account ID of the bucket owner |
Bucket |
bucket |
Name of the bucket |
Time |
[13/Aug/2015:01:43:42 +0000] |
Timestamp of the request (UTC) |
Remote IP |
xx.xx.xx.xx |
Request IP address |
Requester |
787f2f92b20943998a4fe2ab75eb09b8 |
Requester ID
|
RequestID |
281599BACAD9376ECE141B842B94535B |
Request ID |
Operation |
REST.GET.BUCKET.LOCATION |
Name of the operation |
Key |
- |
Object name |
Request-URI |
GET /bucket?location HTTP/1.1 |
Request URI |
HTTPStatus |
200 |
Response code |
ErrorCode |
- |
Error code |
BytesSent |
211 |
Size of the HTTP response, expressed in bytes |
ObjectSize |
- |
Object size (bytes)
NOTE:
|
TotalTime |
6 |
Processing time on the server (ms) |
Turn-AroundTime |
6 |
Total time for processing the request (ms)
NOTE:
This parameter can also be written as TotalTime. |
Referer |
- |
Referer header of the request |
User-Agent |
HttpClient |
User-Agent header of the request |
VersionID |
- |
Version ID contained in a request |
STSLogUrn |
- |
Federated authentication and agency information |
StorageClass |
STANDARD_IA |
Current storage class of the object |
TargetStorageClass |
GLACIER |
Storage class that the object will be transited to |
DentryName |
12456/file.txt |
|
How to Use
You can configure logging on OBS Console, using APIs, or using SDKs.
Tool |
Reference |
---|---|
OBS Console |
|
SDKs |
OBS supports software development kits (SDKs) in multiple languages. For details, see the corresponding developer guide on the SDK Overview page. |
API |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.