banshee/hardware-collection/hardware/redfish/https/
memory
The health and size of each memory module of a server, and its total memory, by Redfish.
by banshee1 installation1 version
Published on October 27, 2026. First version.
Memory of a server, by Redfish
Returns, for each memory module a server's management card serves by Redfish, its health and its size, and the total memory of the server. Three watches are offered, each one set on the probe.
Versions
Generic: written for the ComputerSystem and Memory schemas of DMTF Redfish, whose fields read here have kept their form since the first versions (2016). Any management card that serves them: Dell iDRAC, HPE iLO, Supermicro, Lenovo XCC, OpenBMC. Hence the common level.
How it works
The collector reads, the account in Basic, GET https://<host:address>/redfish/v1/Systems, each system it lists, its Memory collection, then each module in it.
{"Id": "DIMM.Socket.A1", "Name": "DIMM A1", "CapacityMiB": 32768, "Status": {"State": "Enabled", "Health": "OK"}} - A module is named by its
Name(DIMM A1,proc1dimm1); when two bear the same name, each is named by its name followed by itsId. healthis the module'sHealthRolluporHealth, in lower case (ok,warning,critical),unknownwhen it gives neither. A module with too many corrected errors, or disabled by the firmware, readswarningorcritical.sizeis itsCapacityMiB.totalis theMemorySummary.TotalSystemMemoryGiBof the systems, added up; the sum of the modules when no system gives it. It is what the firmware counts at boot: a module it disables lowers it.- A slot the card says
Absentis empty: it is left out (HPE iLO lists every slot). - A code 401 or 403 stops the collector
misconfigured; any other code but 200 stops itunreachable, with the path it was reading. A card that serves no module stops itmisconfigured.
The password comes from protocol:http:password, a secret variable: it only goes in the Basic header. Redfish only reads with GET.
Prerequisites
- The management card's address as the host's address, reachable from the poller in HTTPS (443); its certificate trusted by the TLS profile of the probe (
protocol:http:fingerprint, or its authority underprotocol:tls:authorities). - A read-only account on the card (the
ReadOnlyrole of Redfish), inprotocol:http:userandprotocol:http:password.
Outputs
| Name | Label | Unit | Per instance |
|---|---|---|---|
health | Health | — | yes, per memory module |
size | Size | MiB | yes, per memory module |
total | Total memory | GiB | no |
Watches
| Name | Title | Kind | Defaults | Checked by default |
|---|---|---|---|---|
unhealthy | Memory module degraded | state to avoid, on health | warning on warning, critical on critical | yes |
total | Unexpected total memory | expected value, on total | no size set: it raises nothing until the expected size, in GiB, is set on the probe | no |
missing | Memory module missing | expected instances, on health | no module named: it raises nothing until names are set on the probe | no |
Limits
- The address is written into the URL as is: an IPv6 address must be given as a name.
- One request per module: a server with many modules takes as many round trips.
- A collection cut into pages (
Members@odata.nextLink) is read on its first page only. - A JSON
nullreads as''in Keen, which the collector takes for "not given": aCapacityMiBwrittennullis not returned, aHealthwrittennullreadsunknown, which raises nothing. - Not checked against a card: the paths and fields are those of the DMTF Redfish schemas (
ComputerSystem,Memory), read on redfish.dmtf.org.