- Add HardwareSensors to JSON contract: fans, power, temperatures, other - Add machine_sensor_readings table (migration 0022) with upsert in ingest service - Add mac_addresses []string to HardwarePCIeDevice - Expand device_class examples: VideoController, ProcessingAccelerator, EthernetController, FibreChannelController, StorageController - Add distributable hardware-ingest-contract.md v2.1 with versioning, changelog, field tables, and canonical URL - Add governance rule: contract doc must be updated with every parser change - Update data-model.md to document machine_sensor_readings projection - Update both import-example-full.json files with sensors and new PCIe entries Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
612 lines
16 KiB
JSON
612 lines
16 KiB
JSON
{
|
|
"filename": "redfish://10.10.10.103",
|
|
"source_type": "api",
|
|
"protocol": "redfish",
|
|
"target_host": "10.10.10.103",
|
|
"collected_at": "2026-02-10T15:30:00Z",
|
|
"hardware": {
|
|
"board": {
|
|
"manufacturer": "Supermicro",
|
|
"product_name": "X12DPG-QT6",
|
|
"serial_number": "21D634101",
|
|
"part_number": "X12DPG-QT6-REV1.01",
|
|
"uuid": "d7ef2fe5-2fd0-11f0-910a-346f11040868"
|
|
},
|
|
"firmware": [
|
|
{
|
|
"device_name": "BIOS",
|
|
"version": "06.08.05"
|
|
},
|
|
{
|
|
"device_name": "BMC",
|
|
"version": "5.17.00"
|
|
},
|
|
{
|
|
"device_name": "CPLD",
|
|
"version": "01.02.03"
|
|
}
|
|
],
|
|
"cpus": [
|
|
{
|
|
"socket": 0,
|
|
"model": "INTEL(R) XEON(R) GOLD 6530",
|
|
"cores": 32,
|
|
"threads": 64,
|
|
"frequency_mhz": 2100,
|
|
"max_frequency_mhz": 4000,
|
|
"manufacturer": "Intel",
|
|
"status": "OK",
|
|
"status_checked_at": "2026-02-10T15:28:00Z"
|
|
},
|
|
{
|
|
"socket": 1,
|
|
"model": "INTEL(R) XEON(R) GOLD 6530",
|
|
"cores": 32,
|
|
"threads": 64,
|
|
"frequency_mhz": 2100,
|
|
"max_frequency_mhz": 4000,
|
|
"manufacturer": "Intel",
|
|
"status": "OK"
|
|
}
|
|
],
|
|
"memory": [
|
|
{
|
|
"slot": "CPU0_C0D0",
|
|
"location": "CPU0_C0D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E17CEEC1",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK",
|
|
"status_checked_at": "2026-02-10T15:28:00Z"
|
|
},
|
|
{
|
|
"slot": "CPU0_C1D0",
|
|
"location": "CPU0_C1D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E17D6FBA",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU0_C2D0",
|
|
"location": "CPU0_C2D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E17E8AB3",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU0_C3D0",
|
|
"location": "CPU0_C3D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E17F9BC4",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU1_C0D0",
|
|
"location": "CPU1_C0D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E1801CD5",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU1_C1D0",
|
|
"location": "CPU1_C1D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E1812DE6",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU1_C2D0",
|
|
"location": "CPU1_C2D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E1823EF7",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU1_C3D0",
|
|
"location": "CPU1_C3D0",
|
|
"present": true,
|
|
"size_mb": 32768,
|
|
"type": "DDR5",
|
|
"max_speed_mhz": 4800,
|
|
"current_speed_mhz": 4800,
|
|
"manufacturer": "Hynix",
|
|
"serial_number": "80AD032419E1834F08",
|
|
"part_number": "HMCG88AGBRA191N",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "CPU0_C4D0",
|
|
"location": "CPU0_C4D0",
|
|
"present": false,
|
|
"size_mb": 0,
|
|
"type": null,
|
|
"max_speed_mhz": null,
|
|
"current_speed_mhz": null,
|
|
"manufacturer": null,
|
|
"serial_number": null,
|
|
"part_number": null,
|
|
"status": "Empty"
|
|
},
|
|
{
|
|
"slot": "CPU1_C4D0",
|
|
"location": "CPU1_C4D0",
|
|
"present": false,
|
|
"size_mb": 0,
|
|
"type": null,
|
|
"max_speed_mhz": null,
|
|
"current_speed_mhz": null,
|
|
"manufacturer": null,
|
|
"serial_number": null,
|
|
"part_number": null,
|
|
"status": "Empty"
|
|
}
|
|
],
|
|
"storage": [
|
|
{
|
|
"slot": "OB01",
|
|
"type": "NVMe",
|
|
"model": "INTEL SSDPF2KX076T1",
|
|
"size_gb": 7680,
|
|
"serial_number": "BTAX41900GF87P6DGN",
|
|
"manufacturer": "Intel",
|
|
"firmware": "9CV10510",
|
|
"interface": "NVMe",
|
|
"present": true,
|
|
"status": "OK",
|
|
"status_checked_at": "2026-02-10T15:28:00Z"
|
|
},
|
|
{
|
|
"slot": "OB02",
|
|
"type": "NVMe",
|
|
"model": "INTEL SSDPF2KX076T1",
|
|
"size_gb": 7680,
|
|
"serial_number": "BTAX41900BEG7P6DGN",
|
|
"manufacturer": "Intel",
|
|
"firmware": "9CV10510",
|
|
"interface": "NVMe",
|
|
"present": true,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "OB03",
|
|
"type": "NVMe",
|
|
"model": "INTEL SSDPF2KX076T1",
|
|
"size_gb": 7680,
|
|
"serial_number": "BTAX4190096E7P6DGN",
|
|
"manufacturer": "Intel",
|
|
"firmware": "9CV10510",
|
|
"interface": "NVMe",
|
|
"present": true,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "OB04",
|
|
"type": "NVMe",
|
|
"model": "INTEL SSDPF2KX076T1",
|
|
"size_gb": 7680,
|
|
"serial_number": "BTAX41900GHL7P6DGN",
|
|
"manufacturer": "Intel",
|
|
"firmware": "9CV10510",
|
|
"interface": "NVMe",
|
|
"present": true,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "FP00HDD00",
|
|
"type": "HDD",
|
|
"model": "ST12000NM0008",
|
|
"size_gb": 12000,
|
|
"serial_number": "ZJV01234ABC",
|
|
"manufacturer": "Seagate",
|
|
"firmware": "SN03",
|
|
"interface": "SATA",
|
|
"present": true,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "FP00HDD01",
|
|
"type": "HDD",
|
|
"model": "ST12000NM0008",
|
|
"size_gb": 12000,
|
|
"serial_number": "ZJV01234DEF",
|
|
"manufacturer": "Seagate",
|
|
"firmware": "SN03",
|
|
"interface": "SATA",
|
|
"present": true,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "FP00HDD02",
|
|
"type": "HDD",
|
|
"model": "ST12000NM0008",
|
|
"size_gb": 12000,
|
|
"serial_number": "ZJV01234GHI",
|
|
"manufacturer": "Seagate",
|
|
"firmware": "SN03",
|
|
"interface": "SATA",
|
|
"present": true,
|
|
"status": "Warning"
|
|
},
|
|
{
|
|
"slot": "FP00HDD03",
|
|
"type": "HDD",
|
|
"model": "ST12000NM0008",
|
|
"size_gb": 12000,
|
|
"serial_number": "ZJV01234JKL",
|
|
"manufacturer": "Seagate",
|
|
"firmware": "SN02",
|
|
"interface": "SATA",
|
|
"present": true,
|
|
"status": "OK",
|
|
"status_changed_at": "2026-02-10T15:22:00Z",
|
|
"status_history": [
|
|
{
|
|
"status": "Critical",
|
|
"changed_at": "2026-02-10T15:10:00Z",
|
|
"details": "I/O timeout on NVMe queue 3"
|
|
},
|
|
{
|
|
"status": "OK",
|
|
"changed_at": "2026-02-10T15:22:00Z",
|
|
"details": "Recovered after controller reset"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"pcie_devices": [
|
|
{
|
|
"slot": "PCIeCard1",
|
|
"vendor_id": 32902,
|
|
"device_id": 2912,
|
|
"bdf": "0000:18:00.0",
|
|
"device_class": "MassStorageController",
|
|
"manufacturer": "Intel",
|
|
"model": "RAID Controller RSP3DD080F",
|
|
"link_width": 8,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 8,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "RAID-001-12345",
|
|
"firmware": "50.9.1-4296",
|
|
"status": "OK",
|
|
"status_checked_at": "2026-02-10T15:28:00Z"
|
|
},
|
|
{
|
|
"slot": "PCIeCard2",
|
|
"vendor_id": 5555,
|
|
"device_id": 4401,
|
|
"bdf": "0000:3b:00.0",
|
|
"device_class": "NetworkController",
|
|
"manufacturer": "Mellanox",
|
|
"model": "ConnectX-5",
|
|
"link_width": 16,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 16,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "MT2892012345",
|
|
"firmware": "16.28.2006",
|
|
"mac_addresses": ["b8:3f:d2:11:22:33", "b8:3f:d2:11:22:34"],
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard3",
|
|
"vendor_id": 5555,
|
|
"device_id": 4401,
|
|
"bdf": "0000:86:00.0",
|
|
"device_class": "NetworkController",
|
|
"manufacturer": "Mellanox",
|
|
"model": "ConnectX-5",
|
|
"link_width": 16,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 16,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "MT2892012346",
|
|
"firmware": "16.28.2006",
|
|
"mac_addresses": ["b8:3f:d2:11:22:35", "b8:3f:d2:11:22:36"],
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard4",
|
|
"vendor_id": 4318,
|
|
"device_id": 43690,
|
|
"bdf": "0000:d8:00.0",
|
|
"device_class": "DisplayController",
|
|
"manufacturer": "ASPEED",
|
|
"model": "AST2600 VGA",
|
|
"link_width": 1,
|
|
"link_speed": "Gen2",
|
|
"max_link_width": 1,
|
|
"max_link_speed": "Gen2",
|
|
"serial_number": "N/A",
|
|
"firmware": null,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard5",
|
|
"vendor_id": 4318,
|
|
"device_id": 1824,
|
|
"bdf": "0000:41:00.0",
|
|
"device_class": "VideoController",
|
|
"manufacturer": "NVIDIA",
|
|
"model": "Tesla T4",
|
|
"link_width": 16,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 16,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "1325020185012",
|
|
"firmware": "90.04.96.00.01",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard6",
|
|
"vendor_id": 4318,
|
|
"device_id": 9482,
|
|
"bdf": "0000:61:00.0",
|
|
"device_class": "ProcessingAccelerator",
|
|
"manufacturer": "NVIDIA",
|
|
"model": "A100 SXM4 80GB",
|
|
"link_width": 16,
|
|
"link_speed": "Gen4",
|
|
"max_link_width": 16,
|
|
"max_link_speed": "Gen4",
|
|
"serial_number": "1324021003462",
|
|
"firmware": "92.00.3c.00.03",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard7",
|
|
"vendor_id": 32902,
|
|
"device_id": 5528,
|
|
"bdf": "0000:19:00.0",
|
|
"device_class": "EthernetController",
|
|
"manufacturer": "Intel",
|
|
"model": "X710 10GbE",
|
|
"link_width": 8,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 8,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "K65472-003",
|
|
"firmware": "9.20 0x8000d4ae",
|
|
"mac_addresses": ["3c:fd:fe:aa:bb:cc", "3c:fd:fe:aa:bb:cd"],
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard8",
|
|
"vendor_id": 4096,
|
|
"device_id": 8200,
|
|
"bdf": "0000:21:00.0",
|
|
"device_class": "FibreChannelController",
|
|
"manufacturer": "Marvell",
|
|
"model": "QLE2742 32Gb FC",
|
|
"link_width": 8,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 8,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "RFD1234M67890",
|
|
"firmware": "9.08.02",
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"slot": "PCIeCard9",
|
|
"vendor_id": 4358,
|
|
"device_id": 1617,
|
|
"bdf": "0000:22:00.0",
|
|
"device_class": "StorageController",
|
|
"manufacturer": "Broadcom",
|
|
"model": "SAS 9400-8i",
|
|
"link_width": 8,
|
|
"link_speed": "Gen3",
|
|
"max_link_width": 8,
|
|
"max_link_speed": "Gen3",
|
|
"serial_number": "SP331206C6",
|
|
"firmware": "16.00.11.00",
|
|
"status": "OK"
|
|
}
|
|
],
|
|
"sensors": {
|
|
"fans": [
|
|
{
|
|
"name": "FAN1",
|
|
"location": "Front",
|
|
"rpm": 4200,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "FAN2",
|
|
"location": "Front",
|
|
"rpm": 4150,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "FAN_CPU0",
|
|
"location": "CPU0",
|
|
"rpm": 5600,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "FAN_CPU1",
|
|
"location": "CPU1",
|
|
"rpm": 5550,
|
|
"status": "OK"
|
|
}
|
|
],
|
|
"power": [
|
|
{
|
|
"name": "PSU0 Input",
|
|
"location": "PSU0",
|
|
"voltage_v": 215.25,
|
|
"current_a": 0.64,
|
|
"power_w": 137.0,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "PSU1 Input",
|
|
"location": "PSU1",
|
|
"voltage_v": 222.5,
|
|
"current_a": 0.62,
|
|
"power_w": 137.0,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "12V Rail",
|
|
"location": "Mainboard",
|
|
"voltage_v": 12.06,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "3.3V Rail",
|
|
"location": "Mainboard",
|
|
"voltage_v": 3.31,
|
|
"status": "OK"
|
|
}
|
|
],
|
|
"temperatures": [
|
|
{
|
|
"name": "CPU0 Temp",
|
|
"location": "CPU0",
|
|
"celsius": 46.0,
|
|
"threshold_warning_celsius": 80.0,
|
|
"threshold_critical_celsius": 95.0,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "CPU1 Temp",
|
|
"location": "CPU1",
|
|
"celsius": 44.0,
|
|
"threshold_warning_celsius": 80.0,
|
|
"threshold_critical_celsius": 95.0,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "Inlet Temp",
|
|
"location": "Front",
|
|
"celsius": 22.0,
|
|
"threshold_warning_celsius": 40.0,
|
|
"threshold_critical_celsius": 50.0,
|
|
"status": "OK"
|
|
},
|
|
{
|
|
"name": "Outlet Temp",
|
|
"location": "Rear",
|
|
"celsius": 35.0,
|
|
"threshold_warning_celsius": 60.0,
|
|
"threshold_critical_celsius": 70.0,
|
|
"status": "OK"
|
|
}
|
|
],
|
|
"other": [
|
|
{
|
|
"name": "System Humidity",
|
|
"value": 38.5,
|
|
"unit": "%",
|
|
"status": "OK"
|
|
}
|
|
]
|
|
},
|
|
"power_supplies": [
|
|
{
|
|
"slot": "0",
|
|
"present": true,
|
|
"model": "GW-CRPS3000LW",
|
|
"vendor": "Great Wall",
|
|
"wattage_w": 3000,
|
|
"serial_number": "2P06C102610",
|
|
"part_number": "V0310C9000000000",
|
|
"firmware": "00.03.05",
|
|
"status": "OK",
|
|
"status_checked_at": "2026-02-10T15:28:00Z",
|
|
"input_type": "ACWideRange",
|
|
"input_power_w": 137,
|
|
"output_power_w": 104,
|
|
"input_voltage": 215.25
|
|
},
|
|
{
|
|
"slot": "1",
|
|
"present": true,
|
|
"model": "GW-CRPS3000LW",
|
|
"vendor": "Great Wall",
|
|
"wattage_w": 3000,
|
|
"serial_number": "2P06C102609",
|
|
"part_number": "V0310C9000000000",
|
|
"firmware": "00.03.05",
|
|
"status": "OK",
|
|
"input_type": "ACWideRange",
|
|
"input_power_w": 137,
|
|
"output_power_w": 105,
|
|
"input_voltage": 222.5
|
|
},
|
|
{
|
|
"slot": "2",
|
|
"present": true,
|
|
"model": "GW-CRPS3000LW",
|
|
"vendor": "Great Wall",
|
|
"wattage_w": 3000,
|
|
"serial_number": "2P06C102612",
|
|
"part_number": "V0310C9000000000",
|
|
"firmware": "00.03.05",
|
|
"status": "OK",
|
|
"input_type": "ACWideRange",
|
|
"input_power_w": 138,
|
|
"output_power_w": 107,
|
|
"input_voltage": 222.0
|
|
},
|
|
{
|
|
"slot": "3",
|
|
"present": true,
|
|
"model": "GW-CRPS3000LW",
|
|
"vendor": "Great Wall",
|
|
"wattage_w": 3000,
|
|
"serial_number": "2P06C102611",
|
|
"part_number": "V0310C9000000000",
|
|
"firmware": "00.03.05",
|
|
"status": "OK",
|
|
"input_type": "ACWideRange",
|
|
"input_power_w": 135,
|
|
"output_power_w": 104,
|
|
"input_voltage": 214.75
|
|
}
|
|
]
|
|
}
|
|
}
|