# Kloudmate

Send logs, metrics, and traces to Kloudmate using OTLP over HTTP.

### Supported Telemetry Types <a href="#supported-telemetry-types" id="supported-telemetry-types"></a>

| Logs | Metrics | Traces |
| :--: | :-----: | :----: |
|   ✓  |    ✓    |    ✓   |

### Prerequisites <a href="#prerequisites" id="prerequisites"></a>

* A Kloudmate account with an API key
* Network connectivity from the collector to `otel.kloudmate.com` on port 4318

### Basic Configuration <a href="#basic-configuration" id="basic-configuration"></a>

The Kloudmate destination requires only your API key for basic setup.

| Parameter             | Type              | Required | Default               | Description                               |
| --------------------- | ----------------- | -------- | --------------------- | ----------------------------------------- |
| Choose Telemetry Type | telemetrySelector | No       | Logs, Metrics, Traces | Select which types of telemetry to export |
| API Key               | string            | Yes      | -                     | Kloudmate API key used for authentication |

<figure><img src="/files/VFtTdMi10e1HCE0sgKVr" alt=""><figcaption></figcaption></figure>

### Advanced Configuration <a href="#advanced-configuration" id="advanced-configuration"></a>

#### General Settings <a href="#general-settings" id="general-settings"></a>

| Parameter     | Type | Required | Default | Description                                           |
| ------------- | ---- | -------- | ------- | ----------------------------------------------------- |
| Compression   | enum | No       | gzip    | Compression algorithm (none, gzip)                    |
| Drop Raw Copy | bool | No       | true    | Drop the raw log copy stored in `log.record.original` |

#### TLS Configuration <a href="#tls-configuration" id="tls-configuration"></a>

| Parameter                         | Type   | Required | Default | Description                              |
| --------------------------------- | ------ | -------- | ------- | ---------------------------------------- |
| Enable TLS                        | bool   | No       | false   | Configure advanced TLS settings          |
| Skip TLS Certificate Verification | bool   | No       | false   | Skip TLS certificate verification        |
| TLS Certificate Authority File    | string | No       | -       | Certificate authority for TLS validation |

#### Retry on Failure <a href="#retry-on-failure" id="retry-on-failure"></a>

| Parameter               | Type | Required | Default | Description                         |
| ----------------------- | ---- | -------- | ------- | ----------------------------------- |
| Enable Retry on Failure | bool | No       | true    | Retry sending failed telemetry data |
| Initial Interval        | int  | No       | 5       | Seconds to wait after first failure |
| Max Interval            | int  | No       | 30      | Upper bound on backoff in seconds   |
| Max Elapsed Time        | int  | No       | 300     | Maximum retry duration in seconds   |

#### Sending Queue <a href="#sending-queue" id="sending-queue"></a>

| Parameter                 | Type      | Required                          | Default       | Description                              |
| ------------------------- | --------- | --------------------------------- | ------------- | ---------------------------------------- |
| Enable Sending Queue      | bool      | No                                | true          | Buffer telemetry data before sending     |
| Number of Consumers       | int       | No                                | 10            | Number of consumers that dequeue batches |
| Queue Size                | int       | No                                | 5000          | Maximum batches kept in memory           |
| Enable Persistent Queuing | bool      | No                                | true          | Buffer telemetry data to disk            |
| Persistent Queue Storage  | extension | Yes (if persistent queue enabled) | file\_storage | Storage for the persistent queue         |

### Configuration Tips <a href="#configuration-tips" id="configuration-tips"></a>

#### API Key Management <a href="#api-key-management" id="api-key-management"></a>

* Store your Kloudmate API key securely; avoid hardcoding it in configuration files
* Rotate API keys periodically through the Kloudmate dashboard

#### Data Volume Optimization <a href="#data-volume-optimization" id="data-volume-optimization"></a>

* Keep gzip compression enabled (default) to reduce bandwidth usage
* Enable "Drop Raw Copy" to reduce log payload size when the original log body is not needed

### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

#### Authentication Failures <a href="#authentication-failures" id="authentication-failures"></a>

* Verify your API key is correct and has not been revoked in the Kloudmate dashboard
* Ensure the API key is entered without extra whitespace or quotes

#### Connection Issues <a href="#connection-issues" id="connection-issues"></a>

* Confirm outbound HTTPS traffic to `otel.kloudmate.com:4318` is allowed by your firewall
* Check collector logs for TLS handshake errors if using custom CA certificates

#### Data Not Appearing in Kloudmate <a href="#data-not-appearing-in-kloudmate" id="data-not-appearing-in-kloudmate"></a>

* Verify the correct telemetry types are selected in the destination configuration
* Check that your Kloudmate account has sufficient data ingestion quota

### Related Resources <a href="#related-resources" id="related-resources"></a>

* [Kloudmate OpenTelemetry Collector Documentation](https://docs.kloudmate.com/using-opentelemetry-collector)


---

# 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.bindplane.com/integrations/destinations/kloudmate.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.
