# Parseable

Stream logs, metrics, and traces to [Parseable](https://www.parseable.com) by utilizing the [OpenTelemetry plugin](/manual/data-pipeline/outputs/opentelemetry.md) to send telemetry data to the Parseable OpenTelemetry-compatible Ingestor endpoints.

## Configuration parameters

| Key                    | Description                                                                                                                                                               | Default       |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `add_label`            | Add custom labels to the telemetry data.                                                                                                                                  | *none*        |
| `header`               | Required headers for Parseable integration. Must include `X-P-Stream` (stream name) and `X-P-Log-Source` (telemetry type: `otel-logs`, `otel-metrics`, or `otel-traces`). | *none*        |
| `host`                 | Your Parseable Ingestor hostname or IP address.                                                                                                                           | `parseable`   |
| `http_passwd`          | Password for HTTP basic authentication.                                                                                                                                   | `admin`       |
| `http_user`            | Username for HTTP basic authentication.                                                                                                                                   | `admin`       |
| `log_response_payload` | Log the response payload from the server for debugging.                                                                                                                   | `false`       |
| `logs_uri`             | Specify the HTTP URI for the target web server listening for logs.                                                                                                        | `/v1/logs`    |
| `metrics_uri`          | Specify the HTTP URI for the target web server listening for metrics.                                                                                                     | `/v1/metrics` |
| `port`                 | TCP port of your Parseable Ingestor.                                                                                                                                      | `8000`        |
| `tls`                  | Enable or disable TLS/SSL encryption.                                                                                                                                     | `off`         |
| `traces_uri`           | Specify the HTTP URI for the target web server listening for traces.                                                                                                      | `/v1/traces`  |

### TLS / SSL

The OpenTelemetry output plugin supports TLS/SSL. For more details about the properties available and general configuration, see [TLS/SSL](/manual/administration/transport-security.md).

## Get started

To get started with sending telemetry data to Parseable:

1. Ensure your Parseable Ingestor is running and accessible.
2. Configure authentication credentials (username/password).
3. In your main Fluent Bit configuration file append the following:

{% tabs %}
{% tab title="fluent-bit.yaml" %}

```yaml
pipeline:
  outputs:
    # Send logs to Parseable
    - name: opentelemetry
      match: v1_logs
      host: parseable
      port: 8000
      logs_uri: /v1/logs
      log_response_payload: true
      tls: off
      http_user: admin
      http_passwd: admin
      header: X-P-Stream otellogs
      header: X-P-Log-Source otel-logs
      add_label: app fluent-bit

    # Send metrics to Parseable
    - name: opentelemetry
      match: v1_metrics
      host: parseable
      port: 8000
      metrics_uri: /v1/metrics
      log_response_payload: true
      tls: off
      http_user: admin
      http_passwd: admin
      header: X-P-Stream otelmetrics
      header: X-P-Log-Source otel-metrics
      add_label: app fluent-bit

    # Send traces to Parseable
    - name: opentelemetry
      match: v1_traces
      host: parseable
      port: 8000
      traces_uri: /v1/traces
      log_response_payload: true
      tls: off
      http_user: admin
      http_passwd: admin
      header: X-P-Stream oteltraces
      header: X-P-Log-Source otel-traces
      add_label: app fluent-bit
```

{% endtab %}

{% tab title="fluent-bit.conf" %}

```
# Send logs to Parseable
[OUTPUT]
    Name          opentelemetry
    Match         v1_logs
    Host          parseable
    Port          8000
    Logs_Uri      /v1/logs
    Log_Response_Payload True
    Tls           Off
    Http_User     admin
    Http_Passwd   admin
    Header        X-P-Stream otellogs
    Header        X-P-Log-Source otel-logs
    Add_Label     app fluent-bit

# Send metrics to Parseable
[OUTPUT]
    Name          opentelemetry
    Match         v1_metrics
    Host          parseable
    Port          8000
    Metrics_Uri   /v1/metrics
    Log_Response_Payload True
    Tls           Off
    Http_User     admin
    Http_Passwd   admin
    Header        X-P-Stream otelmetrics
    Header        X-P-Log-Source otel-metrics
    Add_Label     app fluent-bit

# Send traces to Parseable
[OUTPUT]
    Name          opentelemetry
    Match         v1_traces
    Host          parseable
    Port          8000
    Traces_Uri    /v1/traces
    Log_Response_Payload True
    Tls           Off
    Http_User     admin
    Http_Passwd   admin
    Header        X-P-Stream oteltraces
    Header        X-P-Log-Source otel-traces
    Add_Label     app fluent-bit
```

{% endtab %}
{% endtabs %}

## Stream configuration

Parseable uses streams to organize your telemetry data. The `X-P-Stream` header specifies which stream the data should be sent to:

* `otellogs`: Stream for log data
* `otelmetrics`: Stream for metrics data
* `oteltraces`: Stream for trace data

The `X-P-Log-Source` header helps identify the source of the telemetry data for better organization and filtering. The header must be set to `otel-logs`, `otel-metrics`, or `otel-traces` based on the telemetry type.

## Authentication

Parseable supports HTTP basic authentication. Configure the `http_user` and `http_passwd` parameters with your Parseable server credentials.

## References

* [Parseable documentation](https://www.parseable.com/docs)
* [Parseable Fluent-bit integration](https://www.parseable.com/docs/ingest-data/logging-agents/fluent-bit)


---

# Agent Instructions: 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:

```
GET https://docs.fluentbit.io/manual/data-pipeline/outputs/parseable.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
