---
title: AWS IoT monitoring integration
source: https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-iot-monitoring-integration
---

> #### ⚠️ IMPORTANT
>
> Enable the [AWS CloudWatch Metric Streams integration](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-metric-stream/) to monitor all CloudWatch metrics from your AWS services, including custom namespaces. Individual integrations are no longer our recommended option.

New Relic offers an [integration](https://docs.newrelic.com/docs/infrastructure/introduction-infra-monitoring) for reporting your AWS IoT [metric data](https://docs.newrelic.com/docs/telemetry-data-platform/understand-data/new-relic-data-types/#metrics-new-relic).

[AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html) is a service that provides communication between Internet-connected devices and the AWS Cloud. It also collects and stores telemetry data. With the AWS IoT Infrastructure integration, you can access these features:

-   View charts and other information about your AWS IoT communication and telemetry data.
-   Create custom queries and charts in New Relic from automatically captured metric data.
-   Set alert conditions on your AWS IoT integration data directly from the New Relic **Integrations** page.

## Activate integration [#connect]

To enable this integration follow standard procedures to [Connect AWS services to New Relic](https://docs.newrelic.com/docs/infrastructure/infrastructure-integrations/getting-started/connect-aws-integrations-infrastructure).

## Configuration and polling [#polling]

By default, New Relic queries your AWS IoT services [every 5 minutes](https://docs.newrelic.com/docs/integrations/amazon-integrations/get-started/polling-intervals-aws-integrations). If you want New Relic to query your services less often, you can [change the polling frequency](https://docs.newrelic.com/docs/integrations/new-relic-integrations/getting-started/configure-polling-frequency-data-collection-cloud-integrations).

## Explore integration data [#find-data]

After [connecting the AWS IoT integration to New Relic](https://docs.newrelic.com/docs/integrations/amazon-integrations/getting-started/connect-aws-services-infrastructure) and waiting a few minutes, you can [use integration data](https://docs.newrelic.com/docs/telemetry-data-platform/understand-data/new-relic-data-types/):

| View AWS IoT integrations data                                                                                                                                                                            | Do this                                                                                                                                                                                                                          |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| dashboards and [alerts](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/infrastructure-alert-conditions/infrastructure-alerts-add-edit-or-view-host-alert-information#integration) | Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Infrastructure > AWS > IoT**.                                                                                                         |
| [Metric data](#metrics) on custom dashboards                                                                                                                                                              | Go to the [query builder](https://docs.newrelic.com/docs/query-your-data/explore-query-data/query-builder/query-builder-basic-mode) and create queries for `IOTBrokerSample`, `IOTRuleActionSample`, and `IOTRuleSample` events. |

## Metric data [#metrics]

To view metric data for your AWS IoT integration, [create NRQL queries](https://docs.newrelic.com/docs/integrations/new-relic-integrations/getting-started/use-integration-data-new-relic-insights#nrql) for `IOTBrokerSample`, `IOTRuleActionSample`, and `IOTRuleSample` [events](https://docs.newrelic.com/docs/data-apis/understand-data/new-relic-data-types/#event-data) and their related attributes. For more information on AWS IoT metrics and dimensions, see the [AWS IoT Developer Guide](https://docs.aws.amazon.com/iot/latest/developerguide/metrics_dimensions.html).

**IOTBrokerSample events**

Query `IOTBrokerSample` events to view data for the following attributes:

| Name                         | Description                                                                                                                                                                                                   |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `connect.AuthError`          | Number of connection requests that the message broker could not authorize.                                                                                                                                    |
| `connect.ClientError`        | Number of connection requests rejected because the MQTT message did not meet the [AWS IoT requirements](http://docs.aws.amazon.com/iot/latest/developerguide/iot-limits.html).                                |
| `connect.ServerError`        | Number of connection requests that failed because of an internal error.                                                                                                                                       |
| `connect.Success`            | Number of successful connections to the message broker.                                                                                                                                                       |
| `connect.Throttle`           | Number of connection requests that were throttled because the client exceeded the allowed connect request rate.                                                                                               |
| `ping.Success`               | Number of ping messages that the message broker received.                                                                                                                                                     |
| `publishIn.AuthError`        | Number of publish requests that the message broker could not authorize.                                                                                                                                       |
| `publishIn.ClientError`      | Number of publish requests that the message broker rejected because the message did not meet the [AWS IoT requirements](http://docs.aws.amazon.com/iot/latest/developerguide/iot-limits.html).                |
| `publishIn.ServerError`      | Number of publish requests that the message broker failed to process because of an internal error.                                                                                                            |
| `publishIn.Success`          | Number of publish requests that the message broker successfully processed.                                                                                                                                    |
| `publishIn.Throttle`         | Number of publish requests that were throttled because the client exceeded the allowed inbound message rate.                                                                                                  |
| `publishOut.AuthError`       | Number of publish requests that the message broker made that could not be authorized by AWS IoT.                                                                                                              |
| `publishOut.ClientError`     | Number of publish requests that the message broker made that were rejected because the message did not meet the [AWS IoT requirements](http://docs.aws.amazon.com/iot/latest/developerguide/iot-limits.html). |
| `publishOut.Success`         | Number of publish requests that the message broker successfully made.                                                                                                                                         |
| `subscribe.AuthError`        | Number of subscription requests made by a client that could not be authorized.                                                                                                                                |
| `subscribe.ClientError`      | Number of subscribe requests that were rejected because the `SUBSCRIBE` message did not meet the [AWS IoT requirements](http://docs.aws.amazon.com/iot/latest/developerguide/iot-limits.html).                |
| `subscribe.ServerError`      | Number of subscribe requests that were rejected because of an internal error.                                                                                                                                 |
| `subscribe.Success`          | Number of subscribe requests that the message broker successfully processed.                                                                                                                                  |
| `subscribe.Throttle`         | Number of subscribe requests that were throttled because the client exceeded the allowed subscribe request rate.                                                                                              |
| `unsubscribe.ClientError`    | Number of unsubscribe requests that were rejected because the `UNSUBSCRIBE` message did not meet the [AWS IoT requirements](http://docs.aws.amazon.com/iot/latest/developerguide/iot-limits.html).            |
| `unsubscribe.ServerError`    | Number of unsubscribe requests that were rejected because of an internal error.                                                                                                                               |
| `unsubscribe.Success`        | Number of unsubscribe requests that the message broker successfully processed.                                                                                                                                |
| `unsubscribe.Throttle`       | Number of unsubscribe requests that were rejected because the client exceeded the allowed unsubscribe request rate.                                                                                           |
| `deleteThingShadow.Accepted` | Number of `DeleteThingShadow` requests processed successfully.                                                                                                                                                |
| `getThingShadow.Accepted`    | Number of `GetThingShadow` requests processed successfully.                                                                                                                                                   |
| `updateThingShadow.Accepted` | Number of `UpdateThingShadow` requests processed successfully.                                                                                                                                                |

**IOTRuleActionSample events**

Query `IOTRuleActionSample` events to view data for the following attributes:

| Name      | Description                                                                                                                                                                                                                                                                                            |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `success` | Number of successful rule action invocations. The `RuleName` dimension contains the name of the rule that specifies the action that was invoked. The `ActionType` dimension contains the type of action that was invoked.                                                                              |
| `failure` | Number of failed rule action invocations. The `RuleName` dimension contains the name of the rule that specifies the action that was invoked. The `RuleName`dimension contains the name of the rule that specifies the action. The `ActionType` dimension contains the type of action that was invoked. |

**IOTRuleSample events**

Query `IOTRuleSample` events to view data for the following attributes:

| Name         | Description                                                                                                                                                          |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `topicMatch` | The number of incoming messages published on a topic on which a rule is listening. The `RuleName` dimension contains the name of the rule.                           |
| `parseError` | The number of JSON parse errors that occurred in messages published on a topic on which a rule is listening. The `RuleName` dimension contains the name of the rule. |
