AWS IoT Core

Overview

AWS IoT Core is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices.

Enable this integration to see in Datadog all your IOT metrics.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first.

Metric collection

  1. In the AWS integration page, ensure that IoT is enabled under the Metric Collection tab.
  2. Install the Datadog - AWS IoT Core integration.

Log collection

Enable logging

Configure AWS IoT Core to send logs either to a S3 bucket or to CloudWatch.

Note: If you log to a S3 bucket, make sure that amazon_iot is set as Target prefix.

Send logs to Datadog

  1. If you haven’t already, set up the Datadog Forwarder Lambda function.

  2. Once the Lambda function is installed, manually add a trigger on the S3 bucket or CloudWatch log group that contains your AWS IoT Core logs in the AWS console:

Data Collected

Metrics

aws.iot.connect_auth_error
(count)
AWS IoT could not authorize a connect request from a client on an MQTT topic.
Shown as error
aws.iot.connect_client_error
(count)
AWS IoT rejected a connect request from a client on an MQTT topic because the MQTT message did not meet the requirements defined in AWS IoT Limits.
Shown as error
aws.iot.connect_client_idthrottle
(count)
AWS IoT did not process a client connect request on an MQTT topic because the client exceeded the allowed connect request rate for a specific client ID.
aws.iot.connect_server_error
(count)
AWS IoT failed to process a client connect request on an MQTT topic because an internal error occurred.
Shown as error
aws.iot.connect_success
(count)
AWS IoT successfully processed a client connect request on an MQTT topic.
aws.iot.connect_throttle
(count)
AWS IoT did not process a connect request on an MQTT topic because the account exceeded the allowed connect request rate.
aws.iot.connection_authn_error
(count)
The number of connection attempts which AWS IoT Core rejects due to authentication failures.
Shown as error
aws.iot.credential_exchange_success
(count)
The number of successful AssumeRoleWithCertificate requests to AWS IoT Core credentials provider.
aws.iot.delete_thing_shadow_accepted
(count)
AWS IoT received a DeleteThingShadow request.
Shown as request
aws.iot.error_action_failure
(count)
The number of failed error actions.
aws.iot.error_action_success
(count)
The number of successful error actions.
aws.iot.failure
(count)
The number of failed rule action invocations.
aws.iot.get_thing_shadow_accepted
(count)
AWS IoT received a GetThingShadow request.
Shown as request
aws.iot.http_code_4xx
(count)
Generated if the status code of the response from the downstream web service or application is between 400 and 499.
aws.iot.http_code_5xx
(count)
Generated if the status code of the response from the downstream web service or application is between 500 and 599.
aws.iot.http_request_timeout
(count)
Generated if the downstream web service or application does not return a response within the request timeout limit.
aws.iot.http_unknown_host
(count)
Generated if the URL is valid, but the service does not exist or is unreachable.
aws.iot.list_named_shadows_for_thing_accepted
(count)
AWS IoT received a ListNamedShadowsForThing request.
Shown as request
aws.iot.parse_error
(count)
The number of JSON parse errors that occurred in messages published on a topic on which a rule is listening.
aws.iot.ping_success
(count)
AWS IoT received a ping message.
aws.iot.publish_in_auth_error
(count)
AWS IoT could not authorize a publish request from a client.
Shown as error
aws.iot.publish_in_client_error
(count)
AWS IoT rejected a publish request from a client because the MQTT message did not meet the requirements defined in AWS IoT Limits.
Shown as error
aws.iot.publish_in_server_error
(count)
AWS IoT failed to process a client publish request because an internal error occurred.
Shown as error
aws.iot.publish_in_success
(count)
A client successfully published an MQTT message.
aws.iot.publish_in_throttle
(count)
AWS IoT did not process a client publish request because the client exceeded the allowed inbound message rate.
aws.iot.publish_out_auth_error
(count)
AWS IoT could not authorize the publish request from the message broker.
Shown as error
aws.iot.publish_out_client_error
(count)
AWS IoT rejected the publish out request from the message broker because the MQTT message did not meet the requirements defined in AWS IoT Limits.
Shown as error
aws.iot.publish_out_success
(count)
AWS IoT successfully published a message to the connected client.
aws.iot.publish_out_throttle
(count)
The number of publish requests that were throttled because the client exceeded the allowed outbound message rate.
aws.iot.publish_retained_auth_error
(count)
The number of publish requests with the retain flag set that the message broker was unable to authorize.
aws.iot.publish_retained_success
(count)
The number of publish requests with the retain flag set that were successfully processed by the message broker.
aws.iot.publish_retained_throttle
(count)
The number of publish requests with the retain flag set that were throttled because the client exceeded the allowed inbound message rate.
aws.iot.queued_server_error
(count)
The number of messages that haven't been stored for a persistent session because of an internal error.
aws.iot.queued_success
(count)
The number of stored messages that were successfully processed by the message broker for clients that were disconnected from their persistent session.
aws.iot.queued_throttle
(count)
The number of messages that couldn't be stored and were throttled while clients with persistent sessions were disconnected.
aws.iot.rule_message_throttled
(count)
The number of messages throttled by the rules engine because of malicious behavior or because the number of messages exceeds the rules engine's throttle limit.
aws.iot.rule_not_found
(count)
The count of rules which could not be found.
aws.iot.rules_executed
(count)
The number of AWS IoT rules executed.
aws.iot.subscribe_auth_error
(count)
AWS IoT could not authorize a subscribe request from a client on an MQTT topic.
Shown as error
aws.iot.subscribe_client_error
(count)
AWS IoT rejected a subscribe request from a client on an MQTT topic because the MQTT message did not meet the requirements defined in AWS IoT Limits.
Shown as error
aws.iot.subscribe_server_error
(count)
AWS IoT failed to process a client subscribe request on an MQTT topic because an internal error occurred.
Shown as error
aws.iot.subscribe_success
(count)
AWS IoT successfully processed a client subscribe request on an MQTT topic.
aws.iot.subscribe_throttle
(count)
AWS IoT did not process a client subscribe request on an MQTT topic because the client exceeded the allowed subscribe request rate.
aws.iot.success
(count)
The number of successful rule action invocations.
aws.iot.throttle_exceeded
(count)
The number of successful rule action invocations.
aws.iot.topic_match
(count)
The number of incoming messages published on a topic on which a rule is listening.
aws.iot.unsubscribe_client_error
(count)
AWS IoT rejected an unsubscribe request from a client on an MQTT topic because the MQTT message did not meet the requirements defined in AWS IoT Limits.
Shown as error
aws.iot.unsubscribe_server_error
(count)
AWS IoT failed to process a client unsubscribe request on an MQTT topic because an internal error occurred.
Shown as error
aws.iot.unsubscribe_success
(count)
AWS IoT successfully processed a client unsubscribe request on an MQTT topic.
aws.iot.unsubscribe_throttle
(count)
AWS IoT did not process a client unsubscribe request on an MQTT topic because the client exceeded the allowed unsubscribe request rate.
aws.iot.update_thing_shadow_accepted
(count)
AWS IoT received a UpdateThingShadow request.
Shown as request

Each of the metrics retrieved from AWS are assigned the same tags that appear in the AWS console, including but not limited to host name, security-groups, and more.

Events

The AWS IoT Core integration does not include any events.

Service Checks

The AWS IoT Core integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.