1 stable release
1.0.0 | May 5, 2024 |
---|
#1965 in Command line utilities
14KB
215 lines
ipmitool dcmi power reading
Why does this tool exist
Because you are asking yourself "how do I get my power consumption numbers" ?
Internet links:
- https://serverfault.com/questions/736068/how-do-i-get-the-power-consumption-of-a-dell-poweredge-server-on-the-cli
- https://serverfault.com/questions/389224/power-usage-via-ipmi-or-bios-or
So you seem to have two options:
- Using racadm: (https://serverfault.com/a/1070451/336084)
- Using ipmitool: (https://serverfault.com/a/1141974/336084) - (https://wiki.evolix.org/HowtoIPMI)
I used the racadm method for years, and I find it slow and sometimes it does not work because an iDRAC session is open. Then I used ipmitool and it did great, but had text output I needed to parse.
So I first wrote the same tool with the same text output and it worked. The original C code can be found here: ipmitool 1.8.19
Special thanks to the library ipmi-rs that made this possible.
Use
A tool to fetch the power reading with ipmi dcmi
Usage: ipmitool-dcmi-power-reading [OPTIONS]
Options:
-c, --connection-uri <CONNECTION_URI>
The connection URI to use [default: file:///dev/ipmi0]
--timeout-ms <TIMEOUT_MS>
How many milliseconds to wait before timing out while waiting for a response [default: 2000]
--format <FORMAT>
The format to output [default: text] [possible values: text, json]
-h, --help
Print help
-V, --version
Print version
Example (text)
Instantaneous power reading : 212 Watts
Minimum during sampling period : 2 Watts
Maximum during sampling period : 468 Watts
Average power reading over sample period : 184 Watts
IPMI timestamp : 2024-05-05 14:17:17 UTC
Sampling period : 1000 Milliseconds
Power reading state is : activated
Example (json)
{"grp_id":220,"curr_pwr":209,"min_sample":2,"max_sample":468,"avg_pwr":184,"time_stamp":1714918638,"sample":1000,"state":64}
Dependencies
~6–15MB
~193K SLoC