Monitoring IoT devices in real-time can provide valuable insight that can help you maintain the reliability, availability, and performance of your IoT devices. You can track time series data on device connectivity and activity. This insight can help you react quickly to changing conditions and emerging situations.

To help customers more easily leverage Kinesis Data Analytics, Amazon Web Services (AWS) offers the Real-Time IoT Device Monitoring with Kinesis Data Analytics solution, a reference implementation that automatically provisions the services necessary to collect, process, analyze and visualize IoT device connectivity and activity data in real-time. This solution is designed to provide a framework for analyzing and visualizing metrics, allowing you to focus on adding new metrics rather than managing the underlying infrastructure. 

This webpage provides best practices and guidance to consider when choosing a device-monitoring solution, as well as an overview of the Real-Time IoT Device Monitoring with Kinesis Data Analytics solution.


Before you implement a real-time IoT device monitoring solution, determine the key metrics you want to track and what you want to do with those metrics. Consider solutions that provide the flexibility to easily add new metrics, are easy to deploy and use, and can scale to handle a large number of devices. Keeping these general principles in mind, consider the following best practices for monitoring IoT devices on the AWS Cloud:

  • Consider a solution that provides highly-scalable, reliable, and low-latency data processing and storage.
  • Implement a solution that provides visibility across all operating environments. The solution should integrate with both on-premises and AWS workloads.
  • Use a solution that complements your company’s existing processes and skill sets to ensure that you can manage and modify your solution to meet future requirements. This will reduce operational complexity for developers and operators.

AWS offers a solution that uses AWS IoT to ingest device data, Amazon Kinesis Data Firehose to archive the data, Kinesis Data Analytics to compute metrics in real-time, and Amazon Simple Storage Service (Amazon S3) and Amazon DynamoDB to durably store metric data. The solution features a dashboard that visualizes your device connectivity metrics in real-time.

  1. When AWS IoT ingests data from your connected devices, an AWS IoT rule sends the data to a Kinesis data delivery stream.
  2. The delivery stream archives the events in an Amazon S3 bucket and sends the data to a Kinesis Data Analytics application for processing.
  3. The application sends the data to a Lambda function that sends it in real-time to a DynamoDB table to be stored. The application also sends processed data to a second Kinesis data delivery stream which archives it in an Amazon S3 bucket.
  4. The solution also creates an Amazon Cognito user pool, an Amazon S3 bucket, and a real-time dashboard to securely read and display the account activity stored in the DynamoDB table.
Deploy Solution
Implementation Guide

What you'll accomplish:

Deploy Real-Time IoT Device Monitoring with Kinesis Data Analytics using AWS CloudFormation. The AWS CloudFormation template will automatically launch and configure the components necessary to monitor your IoT devices in real-time.

Automatically deploy a real-time dashboard that displays device connectivity and activity metrics. You can customize the dashboard to include any metrics.

What you'll need before starting:

An AWS account: You will need an AWS account to begin provisioning resources. Sign up for AWS.

Skill level: This solution is intended for IT infrastructure architects, administrators, and DevOps professionals who have practical experience architecting on the AWS Cloud.

Q: What metrics are displayed on the dashboard?

The solution dashboard displays a default set of metrics including  the number of unique connected devices; the average, minimum, and maximum amount of time a device has been connected; the minimum, maximum, and total number of data points sent per device over one-minute time windows; the number of unique devices that are not connected; the average, minimum, and maximum amount of time a device has been disconnected. You can also customize the dashboard to include any metrics. For more information, see the implementation guide.

Q: Can I deploy this solution in any AWS Region?

This solution uses the Kinesis Data Firehose and Kinesis Data Analytics services, which are currently available in specific AWS Regions only. Therefore, you must deploy this solution in an AWS Region that supports these services. However, once deployed, this solution monitors all regions for events. For more information, see AWS service availability by region.

Need more resources to get started with AWS? Visit the Getting Started Resource Center to find tutorials, projects and videos to get started with AWS.

Tell us what you think