> 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/aws-cloudwatch.md).

# AWS Cloudwatch

### Description

The Amazon CloudWatch destination sends logs and metrics to Amazon CloudWatch. Logs are written to CloudWatch Logs, and metrics are published as CloudWatch metrics using the embedded metric format (EMF).

### Supported Types

| Metrics | Logs | Traces | Bindplane Collector |
| ------- | ---- | ------ | ------------------- |
| ✓       | ✓    |        | `v1.0.0`+           |

### Configuration

| Field                                       | Type              | Default               | Description                                                                                                                   |
| ------------------------------------------- | ----------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| telemetry\_types\*                          | telemetrySelector | `["Logs", "Metrics"]` | Specifies which types of telemetry to export.                                                                                 |
| region\*                                    | enum              | `us-east-1`           | The AWS region to send telemetry to.                                                                                          |
| **Logs**                                    |                   |                       |                                                                                                                               |
| log\_group\_name\*                          | string            | `/bindplane/logs`     | The CloudWatch Logs log group to send logs to. Created automatically if it does not exist.                                    |
| log\_stream\_name\*                         | string            | `otel`                | The CloudWatch Logs log stream to send logs to. Created automatically if it does not exist.                                   |
| raw\_log                                    | bool              | `false`               | When enabled, the log body is sent as a raw string instead of a structured JSON record.                                       |
| logs\_log\_retention                        | enum              | `0`                   | Number of days to retain logs in the log group. `0` retains logs forever.                                                     |
| **Metrics**                                 |                   |                       |                                                                                                                               |
| namespace                                   | string            | `Bindplane`           | The CloudWatch metric namespace that all metrics are published under.                                                         |
| metrics\_log\_group\_name\*                 | string            | `/bindplane/metrics`  | The CloudWatch Logs log group used to deliver metrics via EMF.                                                                |
| metrics\_log\_stream\_name\*                | string            | `otel`                | The CloudWatch Logs log stream used to deliver metrics via EMF.                                                               |
| dimension\_rollup\_option                   | enum              | `NoDimensionRollup`   | How metric dimensions are rolled up. One of `NoDimensionRollup`, `SingleDimensionRollupOnly`, `ZeroAndSingleDimensionRollup`. |
| enable\_resource\_to\_telemetry\_conversion | bool              | `false`               | When enabled, all resource attributes are converted to metric labels (dimensions).                                            |
| retain\_initial\_value\_of\_delta\_metric   | bool              | `false`               | When enabled, the first value of a delta metric is exported instead of being dropped.                                         |
| metrics\_log\_retention                     | enum              | `0`                   | Number of days to retain the EMF metric logs. `0` retains logs forever.                                                       |
| **Authentication**                          |                   |                       |                                                                                                                               |
| role\_arn                                   | string            | `""`                  | Optional IAM role ARN for the exporter to assume. Leave blank to use the agent's ambient AWS credentials.                     |
| external\_id                                | string            | `""`                  | Optional external ID used when assuming the IAM role in cross-account scenarios.                                              |
| endpoint                                    | string            | `""`                  | Overrides the CloudWatch endpoint instead of constructing it from the region. Useful for FIPS or PrivateLink endpoints.       |

{% hint style="warning" %}
**IMPORTANT**

Metrics are delivered using the **embedded metric format (EMF)**: the exporter writes EMF log records to the metrics log group (`metrics_log_group_name`), and CloudWatch automatically extracts them into metrics under your `namespace`. This means one metrics pipeline produces **two artifacts,** the raw EMF records in CloudWatch **Logs**, and the extracted metrics in CloudWatch **Metrics**. Set `metrics_log_retention` to control storage cost of the raw EMF logs. EMF metrics are standard CloudWatch metrics and are subject to the 30-dimension limit.
{% endhint %}

### Retry and Queuing <a href="#retry-and-queuing" id="retry-and-queuing"></a>

This destination supports retry settings for logs.

| Sending Queue | Persistent Queue | Retry on Failure |
| ------------- | ---------------- | ---------------- |
|               |                  | ✓ (Logs Only)    |

### Example Configuration

Send logs and metrics to CloudWatch in `us-east-1`, with logs in `/bindplane/logs` and metrics published under the `Bindplane` namespace via EMF in `/bindplane/metrics`.

**Web Interface**

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

**Standalone Destination**

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  id: cloudwatch
  name: cloudwatch
spec:
  type: cloudwatch
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics']
    - name: region
      value: us-east-1
    - name: log_group_name
      value: /bindplane/logs
    - name: log_stream_name
      value: otel
    - name: namespace
      value: Bindplane
    - name: metrics_log_group_name
      value: /bindplane/metrics
    - name: metrics_log_stream_name
      value: otel
```


---

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

```
GET https://docs.bindplane.com/integrations/destinations/aws-cloudwatch.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.
