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
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 Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|---|
aws_iot_ServerError Number of server errors generated while executing the job. | ServerErrorCount | Server Error | None | Sum |
aws_iot_ClientError Number of client errors generated while executing the job. | ClientErrorCount | Client ErrorC | None | Sum |
aws_iot_QueuedJobExecutionTotalCount Total number of job executions whose status is QUEUED for the given job. | QueuedJobExecutionTotalCount | Queued Job Execution Total Count | None | Sum |
aws_iot_InProgressJobExecutionTotalCount Total number of job executions whose status is IN_PROGRESS for the given job. | InProgressJobExecutionTotalCount | In Progress Job Execution Total Count | None | Sum |
aws_iot_FailedJobExecutionTotalCount Total number of job executions whose status is FAILED for the given job. | FailedJobExecutionTotalCount | Failed Job Execution Total Count | None | Sum |
aws_iot_SuccededJobExecutionTotalCount Total number of job executions whose status is SUCCESS for the given job. | SuccededJobExecutionTotalCount | Succeded Job Execution Total Count | None | Sum |
aws_iot_CanceledJobExecutionTotalCount Total number of job executions whose status is CANCELED for the given job. | CanceledJobExecutionTotalCount | Canceled Job Execution Total Count | None | Sum |
aws_iot_RejectedJobExecutionTotalCount Total number of job executions whose status is REJECTED for the given job. | RejectedJobExecutionTotalCount | Rejected Job Execution Total Count | None | Sum |
aws_iot_RemovedJobExecutionTotalCount Total number of job executions whose status is REMOVED for the given job. | RemovedJobExecutionTotalCount | Removed Job Execution Total Count | None | Sum |
aws_iot_QueuedJobExecutionCount Number of job executions whose status has changed to QUEUED within a time period that is determined by CloudWatch. | QueuedJobExecutionCount | Queued Job Execution Count | None | Sum |
aws_iot_InProgressJobExecutionCount Number of job executions whose status has changed to IN_PROGRESS within a time period that is determined by CloudWatch. | InProgressJobExecutionCount | In Progress Job Execution Count | None | Sum |
aws_iot_FailedJobExecutionCount Number of job executions whose status has changed to FAILED within a time period that is determined by CloudWatch. | FailedJobExecutionCount | Failed JobExecution Count | None | Sum |
aws_iot_SuccededJobExecutionCount Number of job executions whose status has changed to SUCCESS within a time period that is determined by CloudWatch. | SuccededJobExecutionCount | Succeded Job Execution Count | None | Sum |
aws_iot_CanceledJobExecutionCount Number of job executions whose status has changed to CANCELED within a time period that is determined by CloudWatch. | CanceledJobExecutionCount | Canceled Job Execution Count | None | Sum |
aws_iot_RejectedJobExecutionCount Number of job executions whose status has changed to REJECTED within a time period that is determined by CloudWatch. | RejectedJobExecutionCount | Rejected Job Execution Count | None | Sum |
aws_iot_RemovedJobExecutionCount Number of job executions whose status has changed to REMOVED within a time period that is determined by CloudWatch. | RemovedJobExecutionCount | Removed Job Execution Count | None | Average |
IOT rule metrics
OpsRamp Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|---|
aws_iot_TopicMatch Number of incoming messages published on a topic on which a rule is listening. | TopicMatch | Topic Match | None | Sum |
aws_iot_ParseError Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening. | ParseError | Parse Error | None | Sum |
aws_iot_RuleNotFound Number of JSON parse errors that occurred in messages published on a topic on which a rule is listening. | RuleNotFound | Rule Not Found | None | Sum |
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. | RuleMessageThrottled | Rule Message Throttled | None | Sum |
Note: You can view below metrics on cloud provider and not on IOT resources.
OpsRamp Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|---|
aws_iot_PublishIn_Success The number of publish requests successfully processed by the message broker. | PublishIn.Success | Publish in Success | None | Average |
aws_iot_PublishOut_Success The number of publish requests successfully made by the message broker. | PublishOut.Success | Publish Out Success | None | Average |
aws_iot_Subscribe_Success The number of subscribe requests that were successfully processed by the message broker. | Subscribe.Success | Subscribe Success | None | Average |
aws_iot_Ping_Success The number of ping messages received by the message broker. | Ping.Success | Ping Success | None | Average |
aws_iot_Connect_Success The number of successful connections to the message broker. | Connect.Success | Connect Success | None | Average |
aws_iot_GetThingShadow_Accepted The number of GetThingShadow requests processed successfully. | GetThingShadow.Accepted | Get Thing Shadow Accepted | None | Sum |
aws_iot_UpdateThingShadow_Accepted The number of UpdateThingShadow requests processed successfully. | UpdateThingShadow.Accepted | Update Thing Shadow Accepted | None | Average |
aws_iot_DeleteThingShadow_Accepted The number of DeleteThingShadow requests processed successfully. | DeleteThingShadow.Accepted | Delete Thing Shadow Accepted | None | Average |
aws_iot_RulesExecuted The number of AWS IoT rules executed. | RulesExecuted | Rules Executed | None | Average |