In our data center (CED), I developed a custom solution to monitor the power consumption of equipment, with the goal of improving energy efficiency, preventing overload, and optimizing resource usage.
My goal was twofold:
The system periodically polls APC Metered PDUs and APC Schneider Electric Li-Ion UPS units, both SNMP v1/v2c compatible.

Collected data includes:
I built Delphi 12.2 applications compatible with both Windows and Linux, capable of SNMP polling, data processing, and Excel file generation for Xtumble ERP integration.
SNMP access is handled using the TidSNMP component from the Indy library.
var
SNMP: TidSNMP;
begin
SNMP := TidSNMP.Create(nil);
try
SNMP.Host := '192.168.1.100';
SNMP.Community := 'public';
SNMP.Query.Clear;
SNMP.Query.Add('1.3.6.1.4.1.318.1.1.12.1.16.0');
SNMP.SendQuery;
if SNMP.Reply.Count > 0 then
ShowMessage('Power: ' + SNMP.Reply.ValueFromIndex[0] + ' Watt');
finally
SNMP.Free;
end;
end;
To identify the available OIDs, we used the snmpwalk command on Linux:
snmpwalk -v2c -c public 192.168.1.100
This helped us understand which metrics were exposed by each device.
The collected data is saved in Excel files and sent to our Xtumble ERP system for:
Currently under development:
If you’re interested in integrating SNMP with Delphi or monitoring APC devices, feel free to leave a comment!