In manufacturing enterprises, digital transformation and Industry 4.0 are likely at the top of your mind. New technologies in the Industrial Internet of Things (IIoT) space are critical for monitoring your factory production environments for optimal performance and efficiency. Global events such as Covid-19 have increased interest in monitoring factory performance digitally, when access to factory sites remains restricted.

Machine Downtime Monitor on AWS (MDM) is an AWS Solution that manufacturing customers can use to monitor their machines for factory floor breakdowns. The solution ingests machine telemetry data from factory floor machines and provides near real-time view of machine statuses across lines and locations. The solution offers intuitive web-based graphical user interfaces. This enables non-technical users to easily define the factory floor setup and data definitions, and start machine monitoring quickly.


The MDM solution uses an AWS CloudFormation template to configure and deploy the solution in minutes. The CloudFormation template provides you the option of setting up an edge connectivity solution, Machine to Cloud Connectivity Framework (M2C2), to connect to factory machines. M2C2 uses AWS IoT Greengrass to provide connectivity to on-premises equipment. If a connector is running, you can also use MDM to point to the Amazon Kinesis Data Streams, to listen for machine telemetry.

MDM Architecture Diagram

Figure 1. MDM Architecture Diagram

The AWS CloudFormation template deploys a Kinesis Data Stream, an Amazon Kinesis Data Firehose, and an Amazon Simple Storage Service (S3) bucket, to transport and store machine data. Additionally, custom AWS Lambda functions are configured to filter and route data from the Kinesis Data Stream for real-time visualization and reporting. The remaining functions configure the solution during initial deployment. They support dynamic grouping and visualization of machines in the UI. The filtered messages and user-specified machine configurations are stored in Amazon DynamoDB tables for visualization in the dashboard.

An Amazon CloudFront distribution is setup as the origin of an S3 bucket. Static web assets for the dashboard are placed in the origin bucket. An AWS AppSync API is used for querying and updating data from the dashboard.

Finally, the CloudFormation template deploys AWS Glue to catalog machine data. You can use Amazon Athena and Amazon QuickSight for querying and Business Intelligence (BI) reporting.

Solution Components


  • Use Amazon Cognito to authenticate and manage users. The Solution currently has one user role, Production Manager, who has access to view and configure machines in the UI.

Data ingestion

  • Use Amazon Kinesis to collect and process streaming machine telemetry data.
  • Amazon Kinesis Data Firehose loads streaming machine telemetry data into data stores.

Real-time monitoring

  • Use AWS Lambda functions, a serverless compute service, to perform filtering for custom functions, such as the calculation of machine downtimes.
  • Amazon DynamoDB, is a fast and flexible NoSQL database to persist machine attributes for near-real-time visualization.
  • Use AWS AppSync, which is a fully managed service for GraphQL API operations, to manage queries, mutations, and subscriptions generated by the AWS AppSync schema. These help set up the factory with management tools and real-time machine status updates.

Historical and BI Reporting

  • Amazon S3 can store your machine data for historical reporting needs.
  • AWS Glue can crawl and catalog machine data stored in S3, for querying.
  • Amazon Athena queries and generates datasets for BI reporting.
  • Amazon QuickSight will provide BI reporting for underlying machine telemetry.

An Intuitive User Experience

Machine Downtime Monitor on AWS provides you with an intuitive heatmap [Figure 2], so you can quickly identify machine events such as breakdowns or idle times to take corrective actions. You can also view a machine’s performance for the past 12 hours and diagnose machine event trends.

Real-time Machine Monitoring Dashboard

Figure 2. Real-time Machine Monitoring Dashboard

The MDM solution expects machine telemetry in the Kinesis Stream to be in the format tag1/tag2/tag3/tag../machine/attribute. It has flexibility to send many tags, ending with the machine name and its attribute. This allows you to easily configure and listen to machine attributes, like ‘Status’ or ‘Production Count,’ via an easy-to-follow UI. The screen is flexible and allows you to organize and group your machines by lines and locations.

You can use the Machine Configuration modal [Figure 3] to map machine tags for status and production count, so the solution can actively monitor machines. Additionally, the configuration modal also provides the option to give the machines a familiar name for quick identification.

Machine Configuration modal

Figure 3. Machine Configuration modal

A Machine Grouping modal [Figure 4] will provide you a quick, easy way to organize your factory equipment on the screen. You can choose the machine tags that best correspond to your machine locations and lines.

Machine Grouping modal

Figure 4. Machine Grouping modal

Lastly, the solution demonstrates how to process data for BI reporting [Figure 5]. It includes a QuickSight report to help you visualize machine downtimes over longer time periods.

BI Reporting via QuickSight

Figure 5. BI Reporting via QuickSight


Laying the foundation to bridge the OT (Operational Technology) – IT (Information Technology) gap is critical for manufacturers. To get started on building the foundation for IIoT capability, MDM provides you a straightforward, well-architected workload to visualize machine health on your factory floors. You can also extend the solution to other use cases, such as preventative and predictive maintenance.

Learn more about Machine Downtime Monitor on AWS.