Log streaming: Oracle Cloud Storage

Fastly's Real-Time Log Streaming feature can send log files to Oracle Cloud Storage using Oracle Cloud's S3-compatible API connectivity option. Oracle Cloud Storage is a static file storage service used by developers and IT teams.

NOTE

Fastly does not provide direct support for third-party services. Read Fastly's Terms of Service for more information.

Prerequisites

Before adding Oracle Cloud Storage as a logging endpoint for Fastly services, you need an Oracle Customer Secret Key, which consists of an Access Key and Secret Key. These need read and write permissions on the bucket.

You will also need to know the namespace identifier assigned to your bucket. You can find your namespace by clicking on the bucket and examining the Bucket Information tab (decafbaddeadbeef in this case).

Oracle Cloud Storage Bucket Details

Adding Oracle Cloud Storage as a logging endpoints

NOTE

This logging endpoint is only available for Fastly's Deliver (VCL-based) services, not for Compute services.

After you've registered for an Oracle Cloud Storage account and created an Access Key, follow these instructions to add Oracle Cloud Storage as a logging endpoint:

  1. Deliver services
  1. Review the information in our guide to setting up remote log streaming.
  2. Click the Amazon Web Services S3 logo.
  3. Fill out the Create an Amazon S3 endpoint fields as follows:
    • In the Name field, enter a human-readable name for the endpoint.
    • In the Placement area, select where the logging call should be placed in the generated VCL. Valid values are Format Version Default, waf_debug (waf_debug_log), and None. Read our guide on changing log placement for more information.
    • In the Log format field, optionally enter an Apache-style string or VCL variables to use for log formatting. Consult the example format section for details.
    • (Optional) In the Timestamp format field, enter a timestamp format for log files. The default is an strftime compatible string. Our guide on changing where log files are written provides more information.
    • In the Access method area, select User Credentials.
    • In the Bucket name field, enter the name of the Oracle Cloud Storage bucket in which to store the logs.
    • In the Access key field, enter the access key associated with the Oracle account.
    • In the Secret key field, enter the secret key associated with the Oracle account.
    • (Optional) In the Period field, enter an interval (in seconds) to control how frequently your log files are rotated. Rotation entails the finalization of one file object and the start of a new one, never removing any previously created file object. This value defaults to 3600 seconds.
  4. In the Create a new S3 endpoint area, click Advanced options.
  5. Fill out the rest of the Advanced options as follows:
    • (Optional) In the Path field, enter the path within the bucket to store the files. The path ends with a trailing slash. If this field is left empty, the files will be saved in the bucket's root path. Our guide on changing where log files are written provides more information.
    • In the Domain field, enter <namespace>.compat.objectstorage.<region>.oraclecloud.com.
    • (Optional) In the PGP public key field, enter a PGP public key that Fastly will use to encrypt your log files before writing them to disk. You will only be able to read the contents by decrypting them with your private key. The PGP key should be in PEM (Privacy-Enhanced Mail) format. Read our guide on log encryption for more information.
    • In the Select a log line format area, select the log line format for your log messages. Our guide on changing log line formats provides more information.
    • (Optional) In the Compression field, select the compression format you want applied to the log files. Our guide on changing log compression options provides more information.
    • From the Redundancy level menu, select a setting. Valid values are Standard and Infrequent Access. This value defaults to Standard.
    • (Optional) In the Server side encryption area, select an encryption method to protect files that Fastly writes to your Oracle Cloud Storage bucket. Valid values are None and AES-256. See Oracle's guide to this feature, which is functionally identical to Amazon's implementation except for lack of support for a key management service.
  6. Click Create to create the new logging endpoint.
  7. Click Activate to deploy your configuration changes.
NOTE

Although Fastly continuously streams logs into Oracle Cloud, the Oracle Cloud website and API do not make files available for access until after their upload is complete.

Example format

The following is an example format string for sending data to Oracle Cloud Storage. Our discussion of format strings provides more information.

1{
2 "timestamp": "%{strftime(\{"%Y-%m-%dT%H:%M:%S%z"\}, time.start)}V",
3 "client_ip": "%{req.http.Fastly-Client-IP}V",
4 "geo_country": "%{client.geo.country_name}V",
5 "geo_city": "%{client.geo.city}V",
6 "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",
7 "url": "%{json.escape(req.url)}V",
8 "request_method": "%{json.escape(req.method)}V",
9 "request_protocol": "%{json.escape(req.proto)}V",
10 "request_referer": "%{json.escape(req.http.referer)}V",
11 "request_user_agent": "%{json.escape(req.http.User-Agent)}V",
12 "response_state": "%{json.escape(fastly_info.state)}V",
13 "response_status": %{resp.status}V,
14 "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V,
15 "response_body_size": %{resp.body_bytes_written}V,
16 "fastly_server": "%{json.escape(server.identity)}V",
17 "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V
18}
Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.