Home > IoT > How to Monitor IoT System Resources and Performance - SocketXP

How to Monitor IoT System Resources and Performance - SocketXP

Author: Ganesh Velrajan

Last Updated: Jul 23, 2025

In the world of IoT, knowing the health and status of your devices is paramount. Whether you’re managing a small fleet or thousands of sensors, proactive monitoring can save you time, money, and prevent critical failures.

SocketXP’s IoT Device Management Platform offers robust monitoring features, specifically Device Status Monitoring and Device Resource Monitoring, to keep you informed.

In this blog post, we will discuss what these features mean, how it works, and how to use SocketXP IoT Device Monitoring feature to monitor your remote IoT device’s system status, resources and its performances in real-time.

We will also show you how to register a webhook and receive alerts when your device goes down or its resource utilization is high.

What is Device Monitoring?

Device Monitoring is a crucial feature that provides real-time insights into your connected IoT devices.

It gives you 24/7 visibility into the health of your remotely located IoT fleet. It alerts you to potential problems before they impact your business, so you can take action quickly and prevent downtime.

Device Monitoring is broadly categorized into two main areas:

  • Device Status Monitoring
  • Device Resource Monitoring

Device Status Monitoring:

Device Status Monitoring provides answer to the following question: "Is my device alive?"

What it means: Device Status Monitoring answers the fundamental question of whether your remote IoT device is online or offline. It’s a connectivity heartbeat that tells you if your device is actively communicating with the SocketXP platform.

Why it’s important: Imagine a smart agriculture system where sensors are collecting data on soil moisture. If a sensor goes offline, you need to know immediately to investigate and prevent potential crop damage due to lack of irrigation. Device Status Monitoring allows you to track these critical connectivity changes.

How it works: SocketXP can be configured to send real-time alerts to a registered public webhook URL whenever a device’s online/offline status changes. This is incredibly useful for integrating with team collaboration apps like Slack, or for custom IoT controller/dashboard applications that need instant notifications about device connectivity.

Device Resource Monitoring:

Device Resource Monitoring provides answer to the following question: "Is my device running smoothly?"

What it means: Device Resource Monitoring goes beyond just connectivity, providing deeper insights into your device’s internal health. It focuses on the utilization of key resources: CPU usage, memory usage, and disk usage.

Why it’s important: A device might be online, but if its CPU is constantly at 100% or its memory is depleted, it’s likely to perform poorly or crash. For instance, in an industrial IoT setting, an overloaded edge device could lead to production line downtime. Resource monitoring helps you identify and address these issues proactively.

How it works: This feature, while disabled by default, can be easily enabled and configured. You can set custom threshold values for CPU, memory, and disk usage. If any of these resource utilizations exceed the pre-configured threshold, SocketXP can trigger a webhook alert, notifying you of potential performance bottlenecks or stability issues. Device resource monitoring alerts are throttled to one alert per 5-minute window for a given device and use the same webhook URL registered for Device Status Monitoring. Only the notification message will vary.

How to Implement Device Monitoring in SocketXP: A Step-by-Step Guide

To fully leverage SocketXP’s device monitoring capabilities, you’ll need to:

  • Download and install SocketXP agent on your device
  • Register your webhook (to receive alerts) in the SocketXP Web Portal.

Step 1: Download and Install SocketXP Agent

To remotely monitor your IoT fleet, you need to download and install SocketXP agent on your IoT devices.

Follow our instructions here to download and install SocketXP agent on the IoT devices.

You can also follow the instructions in our Getting Started guide to setup the SocketXP agent in your IoT fleet.

Running the agent as a background service:

Next, follow the instructions here to run SocketXP agent as a background service in your Linux based IoT device.

Now that your IoT fleet is registered and connected to the SocketXP Cloud Gateway, let’s move on to enable resource monitoring and alerting feature on the IoT fleet.

Step 2: Device-Side Configuration (For Resource Monitoring)

For Device Resource Monitoring to function, you need to enable it directly in the SocketXP client configuration file at /etc/socketxp/config.json on your IoT device. If the file doesn’t exist, you need to create one with the following configuration in it:


{
    "device_monitoring": true,
    "device_monitoring_threshold": 40.0,
    "tunnels": [
        {
            "destination": "tcp://127.0.0.1:22"
        }
    ]
}

"device_monitoring": true: This crucial line enables the resource monitoring feature on the device.

"device_monitoring_threshold": 40.0: This sets a global threshold (in percentage) for CPU, Memory, and Disk usage. If any of these resources exceed this value, an alert will be triggered. You can adjust this value based on your device’s typical operating conditions.

"tunnels": [...]: This section (included for context) defines the secure tunnels to remotely access services running in your IoT device such as SSH server etc. So that you could remotely SSH login to your device from the SocketXP web portal to debug and troubleshoot problems.

The device_monitoring settings are typically at the global level of the configuration.

Restart the SocketXP client

After making changes, restart the SocketXP client service running in your device for the new configuration to take effect, using the following command:

$ sudo systemctl restart socketxp

Step 3: Webhook Setup (For Receiving Alerts)

To receive these monitoring alerts, you need to register a public webhook URL with the SocketXP gateway through the SocketXP Web Portal.

Access the SocketXP Dashboard: Log in to your SocketXP account.

Navigate to the Monitoring Section: Go to the “Monitoring” tab within the SocketXP Web Portal.

Register Your Webhook URL: Here, you’ll provide the public webhook URL of your (Slack) application or service where SocketXP should send the monitoring alerts. This URL will receive JSON payloads containing the alert data.

Tip: If you’re using a team collaboration tool like Slack, they often provide incoming webhook URLs that you can use here. For custom applications, you’ll need to develop an API endpoint to receive and process these webhook payloads.

Monitoring Status:

Once both the device-side and web portal configurations are complete, SocketXP agent will start monitoring your device status and its resources.

Device Status Monitoring:

This is automatically enabled for all your devices once a webhook is registered. You will start receiving real-time notifications whenever your registered devices come online or go offline.

Device Resource Monitoring:

With the device_resource_monitoring enabled on the device and thresholds set, you’ll receive alerts when your devices are under significant load, allowing you to take pre-emptive action.

You can also typically view the current status and resource usage of your devices directly in the SocketXP dashboard in the Devices Section and the Activity Logs section.

Understanding Webhook Data and Activity Logs

When an alert is triggered, SocketXP sends a JSON payload to your registered webhook URL. Understanding these payloads is crucial for processing the alerts in your application.

Webhook Payload Descriptions:

Device Status Change Notification: When a device/tunnel goes up or down, the webhook payload will be in one of these formats:


{
  "DeviceId": "2222-bbbb-ccccc-ddddd1234",
  "DeviceName": "Sensor123",
  "Status": "UP"
}

or


{
  "DeviceId": "2222-bbbb-ccccc-ddddd1234",
  "DeviceName": "Sensor123",
  "Status": "DOWN"
}

Device Resource Monitoring Alert: When CPU, Memory, or Disk utilization exceeds the configured threshold, the webhook alert will have this format:


{
  "DeviceId": "1234aaaa-bbbb-ccccc-ddddd1234",
  "DeviceName": "Sensor123",
  "CPUUsagePercent": "91",
  "MemUsagePercent": "72",
  "DiskUsagePercent": "43"
}

Viewing Webhook Log Data:

All generated alerts, whether for device status or resource utilization, can be viewed from the "Activity Logs" section within the SocketXP Web Portal. This provides a historical record of all the alerts triggered, which is invaluable for debugging and auditing.

By effectively utilizing both Device Status Monitoring and Device Resource Monitoring, you can gain a comprehensive understanding of your IoT fleet’s health, ensure continuous operation, and respond swiftly to any issues that may arise.

Debugging and Troubleshooting Performance Issues:

You can also login to your device remotely using the SocketXP’s SSH Remote Access feature to debug and troubleshoot the problematic device.

You can fix the software problem and use the SocketXP’s Remote Software OTA Update feature to push software or firmware updates to your IoT fleet with a single click of a button.

SocketXP IoT Device Management Platform empowers you to maintain a robust and reliable IoT ecosystem.

SocketXP IoT Management Platform

SocketXP IoT Device Management Platform can be used to remotely manage, control, update, access and monitor your IoT, Arduino, Nvidia Jetson, Raspberry Pi or any embedded Linux device fleet at scale.

SocketXP, not only monitors your device resource utilization and performance, but also provides remote access to your IoT device fleet via SSH, performs remote software update using OTA updates and tracks your device location using remote asset tracking.

Try SocketXP IoT Platform for free for 30-days with no commitments. No credit card required.

Simplify IoT Remote Access and Management using SocketXP

Effortlessly access, monitor, and manage your IoT devices remotely with SocketXP’s secure and scalable platform.

Transform Your IoT Experience Today

Join thousands of satisfied users who trust SocketXP for secure, reliable, and scalable IoT solutions. Start your free trial now and unlock the potential of seamless IoT management.