# Stream logs to Grafana Cloud

A Grafana Cloud log stream sends each request of a gateway environment to Grafana Cloud as one trace over OTLP/HTTP, about 30 seconds after the request ends. The traces are stored in Tempo.

## Before you begin

Open the OpenTelemetry page of your stack in Grafana Cloud: **My Account**, then your stack, then **OpenTelemetry**. It has the two values the stream needs. See [Send data using OpenTelemetry Protocol](https://grafana.com/docs/grafana-cloud/send-data/otlp/send-data-otlp/) in the Grafana docs.

## Add the stream

1. In the portal, go to [**Agent Gateway**](https://auth.faustine.ai/go?to=%2Fintegrations%2Fagent-gateway) and select your gateway.
2. Select the **Logs** tab, then **Log settings**.
3. Under **Log streams**, select **Add a stream**.
4. Under **Destination**, select **Grafana Cloud**.
5. Fill in the fields in the table.
6. Select **Send test event**. Faustine sends a trace of one request marked `test: true` and shows **Delivered** when Grafana Cloud accepts it.
7. Select **Continue**.
8. Under **What to send**, choose **All requests** or **Errors and denials**, and turn on **Discovery calls** or **Payloads** if you want them. Select **Continue**.
9. Under **Review and create**, enter a **Name** and select **Create stream**.

| Field | Value |
| --- | --- |
| **OTLP endpoint** | The "Endpoint for sending OTLP signals" of the stack, such as `https://otlp-gateway-prod-<region>.grafana.net/otlp`. |
| **Authorization** | The `Basic …` value from the same page. It is the instance ID and the token, already encoded. |
| **Service name** | The `service.name` of the traces. Optional. Defaults to `faustine-gateway`. |

The stream's page opens. The first trace reaches Grafana Cloud about 30 seconds after the next request ends.

## What Grafana Cloud receives

Each request is one trace, sent over OTLP/HTTP in JSON. For the spans and their attributes, see [What the collector receives](https://docs.faustine.ai/technologies/opentelemetry/#what-the-collector-receives).

## Next steps

- [Log streams](https://docs.faustine.ai/agent-gateway/log-streams/): delivery, retries and the fields of a request.
- [Redact sensitive fields](https://docs.faustine.ai/agent-gateway/redact-sensitive-fields/): decide what a stream can carry.
- [Set recording and retention](https://docs.faustine.ai/agent-gateway/retention/): record the payloads a stream sends.
