Introduction
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 collect of telemetry data from multiple devices and the storage and analyzation of the data. You can also create applications can be created 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.
Note
Use the OpsRamp AWS public cloud integration to discover and collect metrics against the AWS service.Setup
To set up the OpsRamp 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.
Metrics
IOT job metrics
OpsRamp Metric | Metric Display Name | Unit | Aggregation Type | Description |
---|---|---|---|---|
aws_iot_ServerError | Server Error | None | Average | Number of server errors generated while executing the job. |
aws_iot_ClientError | Client Error | None | Average | Number of client errors generated while executing the job. |
aws_iot_QueuedJobExecutionTotalCount | Queued Job Execution Total Count | None | Average | Total number of job executions whose status is QUEUED for the given job. |
aws_iot_InProgressJobExecutionTotalCount | In Progress Job Execution Total Count | None | Average | Total number of job executions whose status is IN_PROGRESS for the given job. |
aws_iot_FailedJobExecutionTotalCount | Failed Job Execution Total Count | None | Average | Total number of job executions whose status is FAILED for the given job. |
aws_iot_SuccededJobExecutionTotalCount | Succeded Job Execution Total Count | None | Average | Total number of job executions whose status is SUCCESS for the given job. |
aws_iot_CanceledJobExecutionTotalCount | Canceled Job Execution Total Count | None | Average | Total number of job executions whose status is CANCELED for the given job. |
aws_iot_RejectedJobExecutionTotalCount | Rejected Job Execution Total Count | None | Average | Total number of job executions whose status is REJECTED for the given job. |
aws_iot_RemovedJobExecutionTotalCount | Removed Job Execution Total Count | None | Average | Total number of job executions whose status is REMOVED for the given job. |
aws_iot_QueuedJobExecutionCount | Queued Job Execution Count | None | Average | Number of job executions whose status has changed to QUEUED within a time period that is determined by CloudWatch. |
aws_iot_InProgressJobExecutionCount | In Progress Job Execution Count | None | Average | Number of job executions whose status has changed to IN_PROGRESS within a time period that is determined by CloudWatch. |
aws_iot_FailedJobExecutionCount | Failed JobExecution Count | None | Average | Number of job executions whose status has changed to FAILED within a time period that is determined by CloudWatch. |
aws_iot_SuccededJobExecutionCount | Succeded Job Execution Count | None | Average | Number of job executions whose status has changed to SUCCESS within a time period that is determined by CloudWatch. |
aws_iot_CanceledJobExecutionCount | Canceled Job Execution Count | None | Average | Number of job executions whose status has changed to CANCELED within a time period that is determined by CloudWatch. |
aws_iot_RejectedJobExecutionCount | Rejected Job Execution Count | None | Average | Number of job executions whose status has changed to REJECTED within a time period that is determined by CloudWatch. |
aws_iot_RemovedJobExecutionCount | Removed Job Execution Count | None | Average | Number of job executions whose status has changed to REMOVED within a time period that is determined by CloudWatch. |
IOT rule metrics
OpsRamp Metric | Metric Display Name | Unit | Aggregation Type | Description |
---|---|---|---|---|
aws_iot_TopicMatch | Topic Match | None | Average | Number of incoming messages published on a topic on which a rule is listening. |
aws_iot_ParseError | Parse Error | None | Average | Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening. |
aws_iot_RuleNotFound | Rule Not Found | None | Average | Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening. |
aws_iot_RuleMessageThrottled | Rule Message Throttled | None | Average | Number of messages throttled by the rules engine because of malicious behavior or because Number of messages exceeds the rules engines throttle limit. |
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.