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 Type
aws_iot_ServerError

Number of server errors generated while executing the job.
ServerErrorCountServer ErrorNoneSum
aws_iot_ClientError

Number of client errors generated while executing the job.
ClientErrorCountClient ErrorCNoneSum
aws_iot_QueuedJobExecutionTotalCount

Total number of job executions whose status is QUEUED for the given job.
QueuedJobExecutionTotalCountQueued Job Execution Total CountNoneSum
aws_iot_InProgressJobExecutionTotalCount

Total number of job executions whose status is IN_PROGRESS for the given job.
InProgressJobExecutionTotalCountIn Progress Job Execution Total CountNoneSum
aws_iot_FailedJobExecutionTotalCount

Total number of job executions whose status is FAILED for the given job.
FailedJobExecutionTotalCountFailed Job Execution Total CountNoneSum
aws_iot_SuccededJobExecutionTotalCount

Total number of job executions whose status is SUCCESS for the given job.
SuccededJobExecutionTotalCountSucceded Job Execution Total CountNoneSum
aws_iot_CanceledJobExecutionTotalCount

Total number of job executions whose status is CANCELED for the given job.
CanceledJobExecutionTotalCountCanceled Job Execution Total CountNoneSum
aws_iot_RejectedJobExecutionTotalCount

Total number of job executions whose status is REJECTED for the given job.
RejectedJobExecutionTotalCountRejected Job Execution Total CountNoneSum
aws_iot_RemovedJobExecutionTotalCount

Total number of job executions whose status is REMOVED for the given job.
RemovedJobExecutionTotalCountRemoved Job Execution Total CountNoneSum
aws_iot_QueuedJobExecutionCount

Number of job executions whose status has changed to QUEUED within a time period that is determined by CloudWatch.
QueuedJobExecutionCountQueued Job Execution CountNoneSum
aws_iot_InProgressJobExecutionCount

Number of job executions whose status has changed to IN_PROGRESS within a time period that is determined by CloudWatch.
InProgressJobExecutionCountIn Progress Job Execution CountNoneSum
aws_iot_FailedJobExecutionCount

Number of job executions whose status has changed to FAILED within a time period that is determined by CloudWatch.
FailedJobExecutionCountFailed JobExecution CountNoneSum
aws_iot_SuccededJobExecutionCount

Number of job executions whose status has changed to SUCCESS within a time period that is determined by CloudWatch.
SuccededJobExecutionCountSucceded Job Execution CountNoneSum
aws_iot_CanceledJobExecutionCount

Number of job executions whose status has changed to CANCELED within a time period that is determined by CloudWatch.
CanceledJobExecutionCountCanceled Job Execution CountNoneSum
aws_iot_RejectedJobExecutionCount

Number of job executions whose status has changed to REJECTED within a time period that is determined by CloudWatch.
RejectedJobExecutionCountRejected Job Execution CountNoneSum
aws_iot_RemovedJobExecutionCount

Number of job executions whose status has changed to REMOVED within a time period that is determined by CloudWatch.
RemovedJobExecutionCountRemoved Job Execution CountNoneAverage

IOT rule metrics

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation Type
aws_iot_TopicMatch

Number of incoming messages published on a topic on which a rule is listening.
TopicMatchTopic MatchNoneSum
aws_iot_ParseError

Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening.
ParseErrorParse ErrorNoneSum
aws_iot_RuleNotFound

Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening.
RuleNotFoundRule Not FoundNoneSum
aws_iot_RuleMessageThrottled

Number of messages throttled by the rules engine because of malicious behavior or because Number of messages exceeds the rules engines throttle limit.
RuleMessageThrottledRule Message ThrottledNoneSum

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

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation Type
aws_iot_PublishIn_Success

The number of publish requests successfully processed by the message broker.
PublishIn.SuccessPublish in SuccessNoneAverage
aws_iot_PublishOut_Success

The number of publish requests successfully made by the message broker.
PublishOut.SuccessPublish Out SuccessNoneAverage
aws_iot_Subscribe_Success

The number of subscribe requests that were successfully processed by the message broker.
Subscribe.SuccessSubscribe SuccessNoneAverage
aws_iot_Ping_Success

The number of ping messages received by the message broker.
Ping.SuccessPing SuccessNoneAverage
aws_iot_Connect_Success

The number of successful connections to the message broker.
Connect.SuccessConnect SuccessNoneAverage
aws_iot_GetThingShadow_Accepted

The number of GetThingShadow requests processed successfully.
GetThingShadow.AcceptedGet Thing Shadow AcceptedNoneSum
aws_iot_UpdateThingShadow_Accepted

The number of UpdateThingShadow requests processed successfully.
UpdateThingShadow.AcceptedUpdate Thing Shadow AcceptedNoneAverage
aws_iot_DeleteThingShadow_Accepted

The number of DeleteThingShadow requests processed successfully.
DeleteThingShadow.AcceptedDelete Thing Shadow AcceptedNoneAverage
aws_iot_RulesExecuted

The number of AWS IoT rules executed.
RulesExecutedRules ExecutedNoneAverage