---
title: 'Log streaming: Scalyr'
summary: null
url: >-
  https://www.fastly.com/documentation/guides/integrations/logging-endpoints/log-management-and-observability/log-streaming-scalyr
---

Fastly's [Real-Time Log Streaming](https://www.fastly.com/documentation/guides/integrations/streaming-logs/about-fastlys-realtime-log-streaming-features) feature can send log files to [Scalyr](https://www.dataset.com/) (now known as DataSet). Scalyr pulls all your server logs and metrics into a centralized, searchable system in real time.

> **NOTE:** 
>
> Fastly does not provide direct support for third-party services. Read [Fastly's Terms of Service](https://www.fastly.com/terms) for more information.
>
>

## Prerequisites

If you don't already have a Scalyr account, you'll need to register for one. Follow the [signup instructions](https://www.dataset.com/try-dataset/) on the Scalyr website.

Once you've signed up, navigate to the **API Keys** area in the **Settings** on your Scalyr dashboard and make note of your Scalyr Write Token. Scalyr uses this to associate data you send them with your account. You'll need this token when you set up your endpoint with Fastly.

If you're adding the Scalyr endpoint via the command line, instead of the web interface, you should also have your [Fastly API token](https://www.fastly.com/documentation/guides/account-info/user-and-account-management/using-api-tokens) and the [service ID](https://www.fastly.com/documentation/guides/getting-started/services/about-services) and version number of the Fastly service for which you'll be enabling Scalyr logging.

## Adding Scalyr as a logging endpoint

Follow these instructions to add Scalyr as a logging endpoint:

### Cdn Services

1.   Review the information in our guide to [setting up remote log streaming](/guides/integrations/streaming-logs/setting-up-remote-log-streaming).

2. In the Scalyr area, click **Create endpoint**.
3. Fill out the **Create a Scalyr 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** and **None**. Read our guide on [changing log placement](/guides/integrations/streaming-logs/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](#example-format) for details.

   - _(Optional)_ In the **Logfile** field, specify the log file name under which your logs will appear on Scalyr's [Overview](https://app.scalyr.com/logStart?teamToken=) page. Defaults to `logplex`.
   - In the **Token** field, enter the Scalyr Write Token provided in the Scalyr dashboard.
   - From the **Region** menu, select the region to stream logs to.
   -   *(Optional)* From the **Processing region** menu, select a geographic region where logs are processed before being sent to the logging endpoint. Our guide on [regional log aggregation](/guides/integrations/streaming-logs/setting-up-regional-log-aggregation) provides more information.

4.   Click **Create** to create the new logging endpoint.

5.   From the **Activate** menu, select **Activate on Production** to deploy your configuration changes.

### Example format

The following is an example format string for sending data to Scalyr. Our discussion of [format strings](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats) provides more information.

```plaintext
{
  "timestamp": "%{strftime(\{"%Y-%m-%dT%H:%M:%S%z"\}, time.start)}V",
  "client_ip": "%{req.http.Fastly-Client-IP}V",
  "geo_country": "%{client.geo.country_name}V",
  "geo_city": "%{client.geo.city}V",
  "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",
  "url": "%{json.escape(req.url)}V",
  "request_method": "%{json.escape(req.method)}V",
  "request_protocol": "%{json.escape(req.proto)}V",
  "request_referer": "%{json.escape(req.http.referer)}V",
  "request_user_agent": "%{json.escape(req.http.User-Agent)}V",
  "response_state": "%{json.escape(fastly_info.state)}V",
  "response_status": %{resp.status}V,
  "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V,
  "response_body_size": %{resp.body_bytes_written}V,
  "fastly_server": "%{json.escape(server.identity)}V",
  "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V
}
```

### Compute Services

1.   Review the information in our guide to [setting up remote log streaming for Compute](/guides/integrations/streaming-logs/setting-up-remote-log-streaming-for-compute). Additionally, our developer documentation provides more [information about logging](/guides/integrations/non-fastly-services/developer-guide-logging/) with Compute code written in our [supported languages](/reference/compute/sdks/).

2. In the Scalyr area, click **Create endpoint** button.
3. Fill out the **Create a Scalyr endpoint** fields as follows:
   -   In the **Name** field, enter the endpoint name you specified in your Compute code. For example, in our [Rust code example](/guides/compute/developer-guides/rust/#logging), the name is `my_endpoint_name`.

   - _(Optional)_ In the **Logfile** field, specify the log file name under which your logs will appear on Scalyr's [Overview](https://app.scalyr.com/logStart?teamToken=) page. Defaults to `logplex`.
   - In the **Token** field, enter the Scalyr Write Token provided in the Scalyr dashboard.
   - From the **Region** menu, select the region to stream logs to.
4.   Click **Create** to create the new logging endpoint.

5.   From the **Activate** menu, select **Activate on Production** to deploy your configuration changes.

## Related content

- [API reference: Scalyr log streaming](https://www.fastly.com/documentation/reference/api/logging/scalyr/)
- [CLI reference: Scalyr log streaming](https://www.fastly.com/documentation/reference/cli/logging/scalyr/)
