IoT Monitoring Workflow

The IoT SDKs and REST API enable you to report application data for a large number of different kinds of devices. This flexibility allows for a great deal of customization in the kind of the data you report, the quantity of data you report, and the timing of when the data is sent to the EUM Server.

To monitor customized data, you will need to better understand the data generated by your application and your device instrumentation. The goal of this page is to guide you through the process of understanding your application data, instrumenting your device application, and creating custom dashboards, so you can monitor device performance and activity.

We recommend that you follow this procedure as a guideline to monitor your devices:

  1. Define your monitoring goals.

  2. Identify what data needs to be captured.

  3. Determine which events to use to report the data.

  4. Obtain an EUM App Key.

  5. Report events.

  6. Monitor the availability, usage, and performance of your devices.

  7. Build widgets.

  8. Diagnose problems through filters.

  9. Improve monitoring and troubleshoot.

Define Monitoring Goals

Splunk AppDynamics IoT Monitoring enables you to monitor the availability, performance, and usage of your device. You should devise a plan that prioritizes your monitoring goals, considering the needs of all stakeholders (developers, DevOps, business units), and lists the resources that need to be monitored. Also, you should consider who will be instrumenting the device application, who will be performing the monitoring, and the parties who should be notified when something goes wrong.

Identify Data to Capture

Next, you will need to analyze your device to identify what application data can be used to meet your monitoring goals. For example, if your device is a car, you would want to look at network requests to check device availability or report custom data for the wear and tear on its components or road conditions.

Determine Which Event Types to Use to Report Data

You report app data through the three types of events shown in the table below. Based on this information, map the most suitable event types to the data you identified and your monitoring goals.

Event TypeMonitoring Objective
CustomUsage
Business
Network RequestAvailability
Performance
Usage
ErrorPerformance
Obtain an EUM App Key

Follow the instructions provided in Get an EUM App Key.

Report Events

You can use the IoT SDKs or REST API to capture and report key data points using one of the event types. If you are using a language other than C/C++ or Java, use the IoT REST API, which gives you the flexibility to report data from any platform.

Follow the getting started instructions to learn how to install the SDK and instrument your IoT application:

Monitor Your IoT Application

To monitor your IoT applications, you will need to understand the function and purpose of the three IoT dashboards. See Monitor Applications with the IoT Dashboards for a brief introduction of each dashboard and usage instructions.

Build Widgets Based on Your Data Models

Each dashboard has a set of predefined widgets for basic performance and activity monitoring. You will need to create your own widgets, however, to optimize the monitoring capabilities of IoT Monitoring. Based on the events you reported, create custom widgets to monitor device activity and performance. See the section Build Custom Dashboard Widgets to learn how to build widgets with the IoT Widget Builder Wizard.

Diagnose Problems

When you do discover deviations from expected behavior, you can then add criteria to filter results. This enables you to narrow the results to certain devices or possible causes.

Troubleshoot Issues and Improve Monitoring

For performance issues, you can open the device details to analyze errors and slow network requests. The device details allow you to trace the error event you are interested in and even download the stack trace. The developer can then use this information to determine the root cause of the problem and devise a possible solution. Going back to our point-to-sale device example, you might discover that most of the failed payments were due to network request errors.

You can use the usage information to improve your monitoring or the devices themselves. For example, an inventory management application indicates that several stores sell a smaller quantity of a certain product. It turns out that this product is often out of stock at these stores. You could improve the monitoring of your IoT app by using custom events to report when a product is sold out and then creating custom widgets to let you know which stores need to restock.