Logging For Private Cloud Files Containers

Cloud Files now offers Access Log Delivery, a feature that allows users to enable logging for non-CDN enabled containers. As you may know, logging for CDN-enabled containers already exists today.

Common use cases include:
Resellers – Many Cloud Files customers separate their customers into containers within Cloud Files. By giving them logs for each of their containers, we give resellers more options for billing their customers.

User Monitoring – Customers sharing an account with multiple users can track which users are accessing their data, which are uploading the most content, etc.  This gives IT departments more information for better serving their customers and possibly identifying problem users.

Access Tracking – Applications built on Cloud Files have a variety of use cases that can benefit from this feature. Logs can be used to track high usage times, user activity, monitor the system and more.

Log Data Examples:
If you enable access log delivery for non-CDN enabled containers, there is a variety of data available. Here are a couple of examples:

  • Client IP
  • Bytes Out
  • Timestamp

Log lines will appear like this: - - [27/08/2012:16:50:22 +0000] "PUT /v1/
     HTTP/1.0" 401 0 "-" "python-requests/0.13.8
     CPython/2.7.3 Linux/3.2.0-29-generic"

How It Works:
Access Log Delivery (logging for non-CDN content) works similar to logging for CDN.  Customers can choose to have their logs enabled via the API or next generation Cloud Control Panel. Once logging is enabled, Cloud Files will create a container on the customer’s behalf called “.ACCESS_LOGS” and deliver logs to that container. Logs will be processed every two hours, but may take up to 24 hours to deliver based on the activity of Cloud Files at that time. Customers are charged standard Cloud Files prices for the storage of logs.

Enabling a container for log delivery is simple. When using the Cloud Files API, simply set metadata on the container, using “X-Container-Meta-Access-Log-Delivery” set to “true.”  If a customer needs to disable logs for any reason, they can simply set the value to “false” or remove the metadata altogether.

Our next generation Cloud Control Panel also supports enabling logs.  Once in the Files section of the control panel, click the gear next to a private container and select “Modify Logging…”

Customers will be asked to quickly confirm their choice. If a container is already logging-enabled, customers can also disable their logs using this process. Once logs are enabled, the first delivery will likely take 24 hours.

If you have any questions about this feature, other Cloud Files features or Rackspace in general, please feel free to comment on this post, contact our Fanatical Support team, or email me directly at megan.wohlford@rackspace.com.

Rack Blogger is our catchall blog byline, subbed in when a Racker author moves on, or used when we publish a guest post. You can email Rack Blogger at blog@rackspace.com.


  1. I want to state publicly (I’ve already mentioned it to your support) that it is really quite absurd that Rackspace does not provide an API method to fetch bandwidth (and we have to fetch the logs and parse them). The API allows us to easily check the container meta data to find out the bytes used (total disk usage), but not the bandwidth (the bulk of our costs). Since we are charged for bandwidth, we have to pass these costs to our customers.

    I don’t understand how a commercial product doesn’t provide stats on how much bandwidth is consumed by each container (each container represents a client). Evidently we can use parse your logs… but since this is such a key feature, do you really think all your customers should have to write redundant parsing scripts to find out a key billing metric like bandwidth per container? It boggles my mind that this has been a service for years and it’s still missing this critical feature that enables your customers to use the service on a commercial scale.

  2. What about the private access logs for a public container ? If a container is public, but i want the access logs where the objects in the containers were accessed using X-Auth-Token header.?

  3. I agree with Chadwick. Rackspace offers no way to get summary data for bandwidth usage. They expect their customers to mine through hundreds of log files to get totals or use a 3rd party pay service to do it.


Please enter your comment!
Please enter your name here