# Remote Agent Polling

This guide helps you diagnose and resolve connectivity and polling issues between the EasyDCIM Control Plane and your Remote Agents.

# Overview

Remote Agents periodically pull the list of devices from the EasyDCIM master panel through an internal API endpoint. By default, the timeout for this operation is set to 60 seconds.

If you have a large number of devices or your master panel is under heavy load, the API might not respond within this timeframe. When this happens, the Remote Agent logs a timeout error (often cURL error 28) and stops collecting data for that polling cycle.

# Polling Execution Time

The polling execution time indicates how long it takes for the remote agent to process and collect data (via SNMP, IPMI, Ping, etc.) for all the devices assigned to it. You can monitor this metric directly in the Remote Agent's Polling Status widget.

If the execution time exceeds 600 seconds (10 minutes), the agent is overloaded. When this happens, EasyDCIM will display the following warning:

Execution time over 600 seconds, consider adding another remote agent!

How to resolve this:

  • Scale Horizontally: Deploy an additional Remote Agent and distribute your device locations across multiple agents. This is the most effective way to parallelize the workload and reduce execution times.
  • Review Polling Types: Disable unnecessary polling modules (like Redfish or SNMP) for devices that don't support them to avoid slow, unanswerable queries.

# Internal API Timeout

The internal_api_timeout parameter allows you to control how long the Remote Agent will wait for the EasyDCIM master panel to respond.

# When to increase the timeout

You should increase the timeout if your polling widget shows an API Timeout error or API Slow warning, especially if you have hundreds or thousands of devices assigned to a single agent.

Recommended range: 15 – 120 seconds.

# When NOT to increase the timeout

Do not increase the timeout indefinitely. If the API takes more than 120 seconds to return the list of devices, the problem lies in the server's performance or database bottlenecks, not the agent. A massive timeout will cause polling processes to overlap and queue up, severely delaying data collection.

# Diagnosing Polling Errors

You can check the health of the connection directly in the EasyDCIM panel:

  1. Navigate to Remote Agents -> select your Agent -> Summary.
  2. Locate the Polling Freshness section.

Possible Statuses:

  • API OK: The polling process finished correctly.
  • API Slow: The response took more than 80% of the configured timeout. Consider increasing the timeout slightly or optimizing your server.
  • API Timeout: The connection dropped before the panel could respond. Increase the internal_api_timeout.
  • API Error: The panel returned an HTTP error (e.g., 500 Internal Server Error). Check your EasyDCIM logs for exceptions.

# Understanding cURL Error 28

cURL error 28 specifically means "Operation timed out". If you see this error, the agent gave up waiting for the master panel. This is entirely controlled by the internal_api_timeout parameter.

# Manual Connectivity Testing

To differentiate between a purely network-level issue and a slow API, you can test the connection manually from the Remote Agent's terminal.

# Identifying the API Key

The agent authenticates using a Local API Key. You can find this key in the Remote Agent's configuration file or in the EasyDCIM panel under the agent's connection settings.

# Testing via cURL

Run the following command from the Remote Agent's SSH console, substituting [APP_ID], [MASTER_IP], and [YOUR_API_KEY]:

curl -i -X GET \
  -H "Accept: application/json" \
  -H "X-Authorization: [YOUR_API_KEY]" \
  "https://[MASTER_IP]/internal/api/app/[APP_ID]/polling/devices"

WARNING

The X-Authorization header contains a secret key. Never share the output of this curl command (or the key itself) in public tickets or logs without redacting it first.

If the command responds quickly but the agent still reports timeouts, the issue might lie in a firewall blocking the agent's specific worker processes. If the curl command hangs for more than a minute, the issue is on the EasyDCIM master panel's performance.