AWS IoT provides secure, bi-directional communication between internet-connected devices, such as:

  • Sensors
  • Actuators
  • Embedded micro-controllers
  • Smart appliances
  • AWS Cloud

This enables the collection of telemetry data from multiple devices and the storage and analysis of the data. You can also create applications to enable user to control these devices from their phones or tablets.

Rules engine

The Rules engine provides message processing and integration with other AWS services. A SQL-based language is available to:

  • Select data from message payloads.
  • Process and send the data to other services (for example, Amazon S3, Amazon DynamoDB, and AWS Lambda).

The message broker can be used to republish messages to other subscribers.

Jobs service

The Jobs service defines a set of remote operations that are sent to and executed on one or more devices connected to AWS IoT.

For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or do remote troubleshooting operations.

To create a job, specify a description of the remote operations to be performed and a list of targets that should do them. The targets can be individual devices, groups or both.

Use the AWS public cloud integration to discover and collect metrics against the AWS service.

External reference

What is AWS IoT?

Setup

To set up the AWS integration and discover the AWS service, go to AWS Integration Discovery Profile and select IOT Rule for Rule and IOT JOB for Job services.

Event support

CloudTrail event support

  • Supported (Rule: CreateTopicRule, DeleteTopicRule and Job: CreateJob, DeleteJob)
  • Configurable in OpsRamp AWS Integration Discovery Profile.

CloudWatch alarm support

  • Supported (Rule and Job)
  • Configurable in OpsRamp AWS Integration Discovery Profile.

Supported metrics

IOT job metrics

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_iot_CanceledJobExecutionCountCanceledJobExecutionCountCanceled Job Execution CountCountAverageThe number of job executions whose status has changed to CANCELED within a time period that is determined by CloudWatch.
aws_iot_CanceledJobExecutionTotalCountCanceledJobExecutionTotalCountCanceled Job Execution Total CountCountAverageThe total number of job executions whose status is CANCELED for the given job.
aws_iot_ClientErrorCountClientErrorCountClient Error CountCountAverageThe number of client errors generated while executing the job.
aws_iot_FailedJobExecutionCountFailedJobExecutionCountFailed Job Execution CountCountAverageThe number of job executions whose status has changed to FAILED within a time period that is determined by CloudWatch.
aws_iot_FailedJobExecutionTotalCountFailedJobExecutionTotalCountFailed Job Execution Total CountCountAverageThe total number of job executions whose status is FAILED for the given job.
aws_iot_InProgressJobExecutionCountInProgressJobExecutionCountIn Progress Job Execution CountCountAverageThe number of job executions whose status has changed to IN_PROGRESS within a time period that is determined by CloudWatch.
aws_iot_InProgressJobExecutionTotalCountInProgressJobExecutionTotalCountIn Progress Job Execution Total CountCountAverageThe total number of job executions whose status is IN_PROGRESS for the given job.
aws_iot_RejectedJobExecutionTotalCountRejectedJobExecutionTotalCountRejected Job Execution Total CountCountAverageThe total number of job executions whose status is REJECTED for the given job.
aws_iot_RemovedJobExecutionTotalCountRemovedJobExecutionTotalCountRemoved Job Execution Total CountCountAverageThe total number of job executions whose status is REMOVED for the given job.
aws_iot_QueuedJobExecutionCountQueuedJobExecutionCountQueued Job Execution CountCountAverageThe number of job executions whose status has changed to QUEUED within a time period that is determined by CloudWatch.
aws_iot_QueuedJobExecutionTotalCountQueuedJobExecutionTotalCountQueued Job Execution Total CountCountAverageThe total number of job executions whose status is QUEUED for the given job.
aws_iot_RejectedJobExecutionCountRejectedJobExecutionCountRejected Job Execution CountCountAverageThe number of job executions whose status has changed to REJECTED within a time period that is determined by CloudWatch.
aws_iot_RemovedJobExecutionCountRemovedJobExecutionCountRemoved Job Execution CountCountAverageThe number of job executions whose status has changed to REMOVED within a time period that is determined by CloudWatch.
aws_iot_ServerErrorCountServerErrorCountServer Error CountCountAverageThe number of server errors generated while executing the job.
aws_iot_SuccededJobExecutionCountSuccededJobExecutionCountSucceded Job Execution CountCountAverageThe number of job executions whose status has changed to SUCCESS within a time period that is determined by CloudWatch.
aws_iot_SuccededJobExecutionTotalCountSuccededJobExecutionTotalCountSucceded Job Execution Total CountCountAverageThe total number of job executions whose status is SUCCESS for the given job.

IOT rule metrics

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_iot_ParseErrorParseErrorParse ErrorCountAverageThe number of JSON parse errors that occurred in messages published on a topic on which a rule is listening.
aws_iot_RuleExecutionThrottledRuleExecutionThrottledRule Execution ThrottledCountAverageThe 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_RuleNotFoundRuleNotFoundRule Not FoundNoneAverageThe rule to be triggered could not be found.
aws_iot_RulesExecutedRulesExecutedRules ExecutedCountAverageThe number of AWS IoT rules executed.
aws_iot_TopicMatchTopicMatchTopic MatchCountAverageThe number of incoming messages published on a topic on which a rule is listening.

Note: You can view below metrics on cloud provider and not on IOT resources.

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_iot_PublishIn_SuccessPublishIn.SuccessPublish in SuccessNoneAVERAGEThe number of publish requests successfully processed by the message broker.
aws_iot_PublishOut_SuccessPublishOut.SuccessPublish Out SuccessNoneAVERAGEThe number of publish requests successfully made by the message broker.
aws_iot_Subscribe_SuccessSubscribe.SuccessSubscribe SuccessNoneAVERAGEThe number of subscribe requests that were successfully processed by the message broker.
aws_iot_Ping_SuccessPing.SuccessPing SuccessNoneAVERAGEThe number of ping messages received by the message broker.
aws_iot_Connect_SuccessConnect.SuccessConnect SuccessNoneAVERAGEThe number of successful connections to the message broker.
aws_iot_GetThingShadow_AcceptedGetThingShadow.AcceptedGet Thing Shadow AcceptedNoneAVERAGEThe number of GetThingShadow requests processed successfully.
aws_iot_UpdateThingShadow_AcceptedUpdateThingShadow.AcceptedUpdate Thing Shadow AcceptedNoneAVERAGEThe number of UpdateThingShadow requests processed successfully.
aws_iot_DeleteThingShadow_AcceptedDeleteThingShadow.AcceptedDelete ThingShadow AcceptedNoneAVERAGEThe number of DeleteThingShadow requests processed successfully.
aws_iot_RulesExecutedRulesExecutedRules ExecutedNoneAVERAGEThe number of AWS IoT rules executed.