Title: Log Shipping
Author: WordPress VIP Documentation
Published: September 21, 2020
Last modified: March 12, 2026

---

 1. [Logs](https://docs.wpvip.com/logs/)
 2. Log Shipping

#  Log Shipping

When enabled, the Log Shipping feature ships copies of the selected log type(s) 
to a configured cloud storage bucket (e.g. [Amazon Web Services (AWS) S3 buckets](https://aws.amazon.com/s3/),
[Google Cloud Storage buckets](https://cloud.google.com/storage/docs/buckets#naming),
[Azure Blob Storage](https://azure.microsoft.com/en-us/products/storage/blobs)).
Shipped logs are JSON-formatted and batched by up to 50 MB or at 5-minute intervals.
The shipped logs can then be stored, processed, or analyzed. Logs are an important
asset for understanding the use of an application’s system, connectivity issues,
performance tuning, usage patterns, and in analyzing service interruptions.

Files from more than one of an organization’s applications and environments can 
be shipped to a single cloud storage bucket.

## Access

**Prerequisites**

 * To configure and enable Log Shipping, a user must have at minimum an [App admin role](https://docs.wpvip.com/manage-user-access/vip-dashboard/app-role/)
   for that application or an [Org admin role](https://docs.wpvip.com/logs/log-shipping/cloud-bucket-requirements/).
 * The configuration steps for Log Shipping require the user to have access to the
   cloud storage provider’s setting values.
 * An object store that meets all [cloud storage bucket requirements](https://docs.wpvip.com/logs/log-shipping/cloud-bucket-requirements/)
   has been created and is ready to receive shipped files.

In the [VIP Dashboard](https://dashboard.wpvip.com/) for an application:

 1. Select an environment from the environment dropdown located at the upper left of
    the VIP Dashboard.
 2. Select “**Logs**” from the sidebar navigation at the left of the screen.
 3. Select “**Log Shipping**” from the submenu.

In the upper area of the “**Log Shipping**” panel, the box titled “Service Status”
indicates if the Log Shipping feature for the environment is currently “Enabled”,“
Disabled”, or “Awaiting configuration”.

Settings for Log Shipping can be updated at any time. If Log Shipping is currently
enabled, it must be disabled before the setting options can be accessed. Select 
the button labeled “**Disable**“, then update the settings as needed.

## Shipment Contents

The Log Shipping feature can ship one or more types of logs for an environment. 
In the section titled “Shipping Contents”:

 1. Select one or more types of logs to be shipped to a cloud storage container on 
    a regular cadence. Options for log types include:
 2.  * HTTP request edge logs
     * HTTP request origin logs
     * Application logs
     * Batch logs (WordPress only)
     * [Slow query logs](https://docs.wpvip.com/logs/slow-query/) (WordPress only)
 3. Select the button labeled “**Continue**” to save the selection(s) and enter the
    first step of [Cloud Configuration](https://docs.wpvip.com/logs/log-shipping?output_format=md#Cloud-Configuration).

## Cloud Configuration

In addition to completing a selection of log types in the section titled “Shipping
Contents”, all steps in the section titled “Cloud Configuration” must be completed
before Log Shipping can be enabled.

### Select Provider

 1. Select a cloud storage provider from the dropdown options (e.g. “AWS S3”, “Google
    Cloud Storage”, or “Azure Blob Storage”).
 2. Select the button labeled “**Continue**“.

![](https://docs.wpvip.com/wp-content/uploads/sites/2/2025/10/Log-Shipping-1024x927.
png)

Example screenshot of the **Log Shipping** configuration panel in the VIP Dashboard

 * AWS S3
 * Google Cloud
 * Azure Blob

**Prerequisites**

**To complete the configuration of an AWS S3 bucket**, a user must have sufficient
access permissions on AWS to:

 * Modify the AWS bucket policy of the AWS S3 bucket.
 * Create an AWS CloudFormation stack in the AWS account.

### Configure Cloud Connection

 3. Configure the AWS S3 bucket requires by adding valid entries for the required fields:“**
    AWS Account ID**” ([How to find your AWS Account ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindAccountId)),“**
    Bucket Name**”, and “**Bucket Region**”. Entering a unique value for the “**S3 
    Prefix**” field is optional but useful if logs from more than one environment in
    the organization are shipped to the same cloud storage bucket.
 4. Select the button labeled “**Continue**“.

### Test Configuration

Based on the values entered in “Step 2 of 3: Configure”, a CloudFormation Template
will populate the field labeled “**Generated CloudFormation Template**“. To continue
the process of enabling Log Shipping:

 5. Select the button labeled “**Download Template**” to download the CloudFormation
    Template JSON file.
 6. Follow the instructions for [Creating a stack on the AWS CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)
    to use the CloudFormation Template JSON file to create a stack in AWS CloudFormation.
 7. Select the button labeled “**Run Test**“ to test the configuration of the S3 bucket.
    A test file named `wpvip-test-connection` will be uploaded to the S3 bucket as 
    part of the verification process. This file will always be present in a site’s 
    configured S3 bucket and path, alongside the dated folders that contain the logs
    themselves.

**Prerequisites**

**To complete the configuration of a Google Cloud bucket**, a user must have a [Google Cloud Platform Service account](https://cloud.google.com/iam/docs/service-account-permissions#roles)
with sufficient permissions to:

 * Create and configure a Google Cloud bucket.
 * Generate and download an authentication key as a JSON file.

### Configure Cloud Connection

 3. Configure the Google Cloud bucket by adding valid entries for the required fields:“**
    GCP Bucket Name**” and “**GCP Credentials JSON**“. Entering a unique value for 
    the “**GCP Prefix**” field is optional but useful if logs from more than one environment
    in the organization are shipped to the same cloud storage bucket.
 4. Select the button labeled “**Continue**“.

### Test Configuration

Select the button labeled “**Run Test**“ to test the configuration of the cloud 
storage bucket.

A test file named `wpvip-test-connection-[YYYY-MM-DD-HH:mm:ss]` will be uploaded
to the cloud storage bucket as part of the verification process. This file will 
always be present in an environment’s configured cloud storage bucket and path, 
alongside the dated folders that contain the logs themselves.

**Prerequisites**

**To complete the configuration of an Azure Blob Cloud bucket**, a user must have:

 * Access to an Azure subscription with a storage account.
 * At minimum a Storage Blob Data Contributor role to have sufficient permissions
   to create and configure a storage account, a container, and [a SAS token](https://learn.microsoft.com/en-us/azure/ai-services/translator/document-translation/how-to-guides/create-sas-tokens?tabs=Containers).
 * The steps to create the necessary container and SAS token require the user to
   either have [Azure CLI](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-cli)
   installed and authenticated (for CLI method) or [Azure Portal access](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal)
   with sufficient privileges (for Portal method).

### Configure Cloud Connection

 3. Configure the Azure Blob bucket by adding valid entries for the required fields:“
 4.  * **Azure Storage Account Name**: Enter [the name of the relevant Azure storage account](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal#create-a-storage-account).
     * **Azure Container Name**: [Create a container in Azure](https://learn.microsoft.com/en-us/azure/storage/blobs/blob-containers-portal)
       and paste the name of the container in this field. [If a firewall is needed](https://learn.microsoft.com/en-us/azure/storage/common/storage-network-security)
       to restrict access to only IPs within [the IP range of the VIP Platform](https://go-vip.net/ip-ranges.json),
       create the container with a dedicated storage account.
     * **Azure Prefix**: Entering a unique value in this field is optional but useful
       if logs from more than one environment in the organization are shipped to the
       same cloud storage bucket.
     * **Azure SAS Token**: [Create a Shared Access Signature (SAS) token](https://learn.microsoft.com/en-us/rest/api/storageservices/create-service-sas)
       and paste the value of the token in this field. [A stored access policy can be optionally defined](https://learn.microsoft.com/en-us/rest/api/storageservices/define-stored-access-policy)
       to provide an additional level of control over permissions for the SAS token
       and its time of expiry.
 5. Select the button labeled “**Continue**“.

### Test Configuration

Select the button labeled “**Run Test**“ to test the configuration of the cloud 
storage bucket.

A test file named `wpvip-test-connection-[YYYY-MM-DD-HH:mm:ss]` will be uploaded
to the cloud storage bucket as part of the verification process. This file will 
always be present in an environment’s configured cloud storage bucket and path, 
alongside the dated folders that contain the logs themselves.

Next, [Log Shipping must be enabled](https://docs.wpvip.com/logs/log-shipping?output_format=md#Enable-Log-Shipping)
to begin shipping the selected logs to the configured bucket.

## Enable Log Shipping

After completing the required Cloud Configuration settings, the Log Shipping feature
must be enabled in order for file shipping to the configured cloud storage bucket
to begin.

In the upper area of the **Log Shipping** panel:

 1. Select the button labeled “**Enable**“.

![](https://docs.wpvip.com/wp-content/uploads/sites/2/2025/10/Enable-Button-1024x115.
png)

Example screenshot of the button labeled “**Enable**“

## Disable Log Shipping

 1. Navigate to the [VIP Dashboard](https://dashboard.wpvip.com/) for an application.
 2. Select an environment from the environment dropdown located at the upper left of
    the VIP Dashboard.
 3. Select “**Logs**” from the sidebar navigation at the left of the screen.
 4. Select **“Log Shipping”** from the submenu.
 5. Select the button labeled “**Disable**” in the upper area of the **Log Shipping**
    panel.

![](https://docs.wpvip.com/wp-content/uploads/sites/2/2025/10/DB-Backup-Shipping-
Disable-Button-1024x120.png)

Example screenshot of the button labeled “**Disable**“

## Path structure of shipped logs

Each log type that is configured and enabled to ship to a cloud storage bucket will
be delivered within a path structure that follows the pattern: `${bucket_name}/${
optional_prefix}/${log_type}/YYYY/MM/dd/...`

For example, the path structure for slow query logs shipped to a bucket named “example-
bucket” with the prefix “example-prefix” would be: `example-bucket/example-prefix/
slow_query/2026/03/07/...`

### Legacy path structure

The legacy version of Log Shipping only shipped HTTP Request Edge Logs (previously
named “HTTP request Log Shipping”). The delivery path for those logs followed the
pattern: `${bucket_name}/${optional_prefix}/YYYY/MM/dd/____`

Logs will continue to ship to that legacy path structure until any configuration
updates are made in the Log Shipping panel (e.g. switching from an S3 bucket to 
Azure Blob Storage or opting in to ship application logs as well). After updating
Log Shipping configurations, HTTP Request Edge Logs will be delivered to the updated
path structure: `${bucket_name}/${optional_prefix}/http_requests_edge/YYYY/MM/dd/...`

Last updated: March 12, 2026