# CloudWatch Metrics

Kubemq cloudwatch-metrics target connector allows services using kubemq server to access aws cloudwatch-metrics service.

## Prerequisites

The following required to run the aws-cloudwatch-metrics target connector:

* kubemq cluster
* aws account with cloudwatch-metrics active service
* kubemq-source deployment

## Configuration

cloudwatch-metrics target connector configuration properties:

| Properties Key   | Required | Description                       | Example                        |
| ---------------- | -------- | --------------------------------- | ------------------------------ |
| aws\_key         | yes      | aws key                           | aws key supplied by aws        |
| aws\_secret\_key | yes      | aws secret key                    | aws secret key supplied by aws |
| region           | yes      | region                            | aws region                     |
| token            | no       | aws token ("default" empty string | aws token                      |

Example:

```yaml
bindings:
  - name: kubemq-query-aws-cloudwatch-metrics
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-aws-cloudwatch-metrics"
        auth_token: ""
        channel: "query.aws.cloudwatch.metrics"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: aws.cloudwatch.metrics
      name: aws-cloudwatch-metrics
      properties:
        aws_key: "id"
        aws_secret_key: 'json'
        region:  "region"
        token: ""
```

## Usage

### Put Metrics

Put Metrics:

| Metadata Key | Required | Description              | Possible values                                                                                                                                                                                                                                                            |
| ------------ | -------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| method       | yes      | type of method           | "put\_metrics"                                                                                                                                                                                                                                                             |
| namespace    | yes      | aws namespace name       | "string"                                                                                                                                                                                                                                                                   |
| data         | yes      | array of aws MetricDatum | `W3siQ291bnRzIjpudWxsLCJEaW1lbnNpb25zIjpudWxsLCJNZXRyaWNOYW1lIjoiTmV3IE1ldHJpYyIsIlN0YXRpc3RpY1ZhbHVlcyI6bnVsbCwiU3RvcmFnZVJlc29sdXRpb24iOm51bGwsIlRpbWVzdGFtcCI6IjIwMjAtMDgtMTJUMTc6MDk6NDguMzg5NTgyMiswMzowMCIsIlVuaXQiOiJDb3VudCIsIlZhbHVlIjoxMzEsIlZhbHVlcyI6bnVsbH1d` |

Example:

```javascript
{
  "metadata": {
    "method": "put_metrics",
    "namespace": "Logs"
  },
  "data": "W3siQ291bnRzIjpudWxsLCJEaW1lbnNpb25zIjpudWxsLCJNZXRyaWNOYW1lIjoiTmV3IE1ldHJpYyIsIlN0YXRpc3RpY1ZhbHVlcyI6bnVsbCwiU3RvcmFnZVJlc29sdXRpb24iOm51bGwsIlRpbWVzdGFtcCI6IjIwMjAtMDgtMTJUMTc6MDk6NDguMzg5NTgyMiswMzowMCIsIlVuaXQiOiJDb3VudCIsIlZhbHVlIjoxMzEsIlZhbHVlcyI6bnVsbH1d"
}
```

### List Metrics

List Metrics:

| Metadata Key | Required | Description        | Possible values |
| ------------ | -------- | ------------------ | --------------- |
| method       | yes      | type of method     | "list\_metrics" |
| namespace    | no       | aws namespace name | "string"        |

Example:

```javascript
{
  "metadata": {
    "method": "list_metrics"
  },
  "data": null
}
```


---

# 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.kubemq.io/configuration/connectors/kubemq-targets/aws/cloudwatch-metrics.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.
