# Observe

Use the [HTTP output plugin](/manual/data-pipeline/outputs/http.md) to flush your records [into Observe](https://docs.observeinc.com/docs/fluent-bit). It issues a POST request with the data records in [MessagePack](https://msgpack.org) (or JSON) format.

## Configuration parameters

The following HTTP configuration parameters are relevant to Observe:

| Key           | Description                                                                                                                                                                                                                            | Default                                   |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| `compress`    | Sets the payload compression mechanism. Possible values: `gzip`, `false`.                                                                                                                                                              | `gzip`                                    |
| `format`      | The data format to be used in the HTTP request body.                                                                                                                                                                                   | `msgpack`                                 |
| `header`      | The specific header that provides the Observe token needed to authorize sending data [into a data stream](https://docs.observeinc.com/en/latest/content/data-ingestion/datastreams.html?highlight=ingest%20token#create-a-datastream). | `Authorization Bearer ${OBSERVE_TOKEN}`   |
| `header`      | The specific header that instructs Observe how to decode incoming payloads.                                                                                                                                                            | `X-Observe-Decoder fluent`                |
| `host`        | IP address or hostname of the Observe data collection endpoint. Replace `$(OBSERVE_CUSTOMER)` with your [Customer ID](https://docs.observeinc.com/docs/where-do-i-find-my-customer-id).                                                | `OBSERVE_CUSTOMER.collect.observeinc.com` |
| `port`        | TCP port to use when sending data to Observe.                                                                                                                                                                                          | `443`                                     |
| `tls`         | Specifies whether to use TLS.                                                                                                                                                                                                          | `on`                                      |
| `tls.ca_file` | For Windows only: the path to the root cert.                                                                                                                                                                                           | *none*                                    |
| `uri`         | Specifies the HTTP URI for Observe.                                                                                                                                                                                                    | `/v1/http/fluentbit`                      |
| `workers`     | The number of [workers](/manual/administration/multithreading.md#outputs) to perform flush operations for this output.                                                                                                                 | `0`                                       |

### Configuration file

In your main configuration file append the following:

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

```yaml
pipeline:

  outputs:
    - name: http
      match: '*'
      host: my-observe-customer-id.collect.observeinc.com
      port: 443
      tls: on
      uri: /v1/http/fluentbit
      format: msgpack
      header:
        - 'Authorization     Bearer ${OBSERVE_TOKEN}'
        - 'X-Observe-Decoder fluent'
      compress: gzip
      # For Windows: provide path to root cert
      #tls.ca_file  C:\fluent-bit\isrgrootx1.pem
```

{% endtab %}

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

```
[OUTPUT]
    Name         http
    Match        *
    Host         my-observe-customer-id.collect.observeinc.com
    Port         443
    Tls          on

    Uri          /v1/http/fluentbit

    Format       msgpack
    Header       Authorization     Bearer ${OBSERVE_TOKEN}
    Header       X-Observe-Decoder fluent
    Compress     gzip

    # For Windows: provide path to root cert
    #tls.ca_file  C:\fluent-bit\isrgrootx1.pem
```

{% endtab %}
{% endtabs %}


---

# 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/observe.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.
