> For the complete documentation index, see [llms.txt](https://docs.bindplane.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bindplane.com/integrations/destinations/sumo-logic.md).

# Sumo Logic

The Sumo Logic destination sends logs and metrics to a pre-existing [Sumo Logic HTTP logs and metrics source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/). Bindplane delivers telemetry to the source's HTTP endpoint over HTTPS.

### Supported Telemetry Types

| Platform | Metrics | Logs | Traces |
| -------- | ------- | ---- | ------ |
| Linux    | ✓       | ✓    |        |
| Windows  | ✓       | ✓    |        |
| macOS    | ✓       | ✓    |        |

### Prerequisites

* A pre-existing Sumo Logic HTTP logs and metrics source. See [Configure an HTTP Logs and Metrics Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/).
* The HTTP source URL (endpoint) for that source.
* The collector able to reach the Sumo Logic endpoint over HTTPS.

### Configuration

<figure><img src="/files/JNmpBN2QoWWqYIaNH3xq" alt="Bindplane docs - Sumo Logic - image 1"><figcaption></figcaption></figure>

#### General

| Parameter             | Type               | Default              | Description                                                                                                                                     |
| --------------------- | ------------------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Choose Telemetry Type | Telemetry Selector | `["Logs","Metrics"]` | Select which types of telemetry to export. Valid values are `Logs` and `Metrics`.                                                               |
| Endpoint              | String             |                      | Required. Endpoint for a pre-existing Sumo Logic HTTP logs and metrics source. The exporter uses this endpoint to send telemetry to Sumo Logic. |

#### Advanced

| Parameter             | Type     | Default      | Description                                                                                                 |
| --------------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------------------- |
| Compression           | Enum     | `gzip`       | Compression algorithm to use when sending data to Sumo Logic. One of `gzip`, `deflate`, `zstd`, `none`.     |
| Max Request Body Size | String   | `1048576`    | Maximum HTTP request body size in bytes (1048576 = 1MiB) before compression, if applied.                    |
| Log Format            | Enum     | `json`       | Format to send logs in to Sumo Logic. One of `json` or `text`. Applies when `Logs` is selected.             |
| Metric Format         | Enum     | `prometheus` | Format to send metrics in to Sumo Logic. One of `prometheus` or `otlp`. Applies when `Metrics` is selected. |
| Timeout               | Duration | `5s`         | Timeout limit for each attempt to send data to Sumo Logic. Maximum allowed is `55s`.                        |
| Drop Raw Copy         | Boolean  | `true`       | When enabled, the raw copy of the log stored in `log.record.original` is dropped.                           |

#### Retry on Failure

| Parameter               | Type    | Default | Description                                                                                                                                   |
| ----------------------- | ------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Enable Retry on Failure | Boolean | `true`  | Attempt to resend telemetry data that has failed to be transmitted to the destination.                                                        |
| Initial interval        | Integer | `5`     | Time (in seconds) to wait after the first failure before retrying. Applies when retry is enabled.                                             |
| Max interval            | Integer | `30`    | The upper bound (in seconds) on backoff. Applies when retry is enabled.                                                                       |
| Max elapsed time        | Integer | `300`   | The maximum amount of time (in seconds) spent trying to send a batch, used to avoid a never-ending retry loop. Applies when retry is enabled. |

#### Sending Queue

| Parameter                 | Type      | Default                         | Description                                                                                                                                                           |
| ------------------------- | --------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Enable Sending Queue      | Boolean   | `true`                          | Buffer telemetry data temporarily before sending to help ensure data is not lost during a temporary network outage.                                                   |
| Number of Consumers       | Integer   | `10`                            | Number of consumers that dequeue batches. Applies when the sending queue is enabled.                                                                                  |
| Queue Size                | Integer   | `5000`                          | Maximum number of batches kept in memory before dropping. Applies when the sending queue is enabled.                                                                  |
| Enable Persistent Queuing | Boolean   | `true`                          | Buffer telemetry data to disk before sending to help ensure data is not lost during network outages or collector restarts. Applies when the sending queue is enabled. |
| Persistent Queue Storage  | Extension | `file_storage_persistent_queue` | Required. The storage to use for the persistent queue. Applies when the sending queue and persistent queue are enabled.                                               |

### Example Configuration

#### Standalone Destination

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  id: sumo_logic_v2
  name: sumo_logic_v2
spec:
  type: sumo_logic_v2
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics']
    - name: endpoint
      value: 'https://endpoint.collection.sumologic.com/receiver/v1/http/<token>'
    - name: compression
      value: 'gzip'
    - name: log_format
      value: 'json'
    - name: metric_format
      value: 'otlp'
    - name: timeout
      value: '5s'
    - name: retry_on_failure_enabled
      value: 'true'
    - name: sending_queue_enabled
      value: 'true'
    - name: persistent_queue_enabled
      value: 'true'
```

### Configuration Tips

#### Choosing a metric format

* `prometheus` is the default and works with Sumo Logic's standard metrics ingestion.
* Use `otlp` when you want to preserve OpenTelemetry metric semantics end to end. See [Sumo Logic metric formats](https://help.sumologic.com/docs/metrics/introduction/metric-formats/).

#### Reducing payload size

* Leave `compression` at `gzip` (or use `zstd`/`deflate`) to reduce egress. Set it to `none` only when troubleshooting.
* Lower `max_request_body_size` if the Sumo Logic source rejects large requests; raise it to batch more aggressively.

#### Durability

* Keep the sending queue enabled to buffer telemetry during brief outages. Enable the persistent queue to retain buffered data across collector restarts.

### Troubleshooting

**Symptom:** Telemetry is not arriving in Sumo Logic. **Solution:** Confirm the `endpoint` matches the HTTP source URL exactly, including the token path segment, and that the collector can reach `*.sumologic.com` over HTTPS. Verify the source is an HTTP logs and metrics source, not a different source type.

**Symptom:** Logs arrive but are not parsed as expected. **Solution:** Set `log_format` to match how you want records ingested. Use `json` to preserve structured fields; use `text` for raw line ingestion.

**Symptom:** Requests fail or time out under load. **Solution:** Sumo Logic caps each request at `55s`; keep `timeout` at or below that. If large batches are rejected, lower `max_request_body_size`. Keep retry on failure enabled so transient errors are retried.

### Related Resources

* [Configure an HTTP Logs and Metrics Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/)
* [Sumo Logic metric formats](https://help.sumologic.com/docs/metrics/introduction/metric-formats/)
* [Sumo Logic HTTP source documentation](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bindplane.com/integrations/destinations/sumo-logic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
