Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for the collection of Component Firmware Version and other details #82

Merged

Conversation

jenniferKaiser21
Copy link
Collaborator

@jenniferKaiser21 jenniferKaiser21 commented Jun 28, 2024

Summary of Enhancements

This PR further enhances the metrics gathering of all currently supported server models for collection of vital Firmware Inventory Component details, such as firmware version. This enhancement considers the wide variety of configurations, including iLO version and physical variances, accounting for the multiple endpoint possibilities for metrics collection.

Testing results

Tested locally against 47 servers with different hardware configuration, and iLO versions. Notably, tested against Cisco servers that do not have the firmware inventory.
iLO Versions Tested:
⁃ {firmwareVersion="4.1(3e)"}
⁃ {firmwareVersion="4.0(2m)"}
⁃ {firmwareVersion="4.2(3b)"}
⁃ {firmwareVersion="4.2(2f)"}
⁃ {firmwareVersion="4.1(3g)"}
⁃ {firmwareVersion="4.1(2a)"}
⁃ {firmwareVersion="4.0(4d)"}
⁃ {firmwareVersion="4.3(2.230270)"}
⁃ {firmwareVersion="4.2(3b)"}
⁃ {firmwareVersion="4.2(2a)"}
⁃ {firmwareVersion="4.1(2a)"}
⁃ {firmwareVersion="4.1(1f)"}
⁃ {firmwareVersion="4.0(4h)"}
⁃ {firmwareVersion="4.0(1a)"}
⁃ {firmwareVersion="3.1(3a)"}
⁃ {firmwareVersion="4.2(3d)"}
⁃ {firmwareVersion="4.2(3b)"}
⁃ {firmwareVersion="4.2(1g)"}
⁃ {firmwareVersion="4.2(1f)"}
⁃ {firmwareVersion="iLO 6 v1.59"}
⁃ {firmwareVersion="iLO 5 v2.95"}
⁃ {firmwareVersion="iLO 5 v2.44"}
⁃ {firmwareVersion="iLO 5 v2.71"}
⁃ {firmwareVersion="iLO 4 v2.80"}
⁃ {firmwareVersion="iLO 5 v2.91"}
⁃ {firmwareVersion="iLO 5 v2.98"}
⁃ {firmwareVersion="iLO 5 v2.65"}
⁃ {firmwareVersion="iLO 5 v2.98"}
⁃ {firmwareVersion="iLO 5 v2.44"}
⁃ {firmwareVersion="iLO 5 v3.03"}
⁃ {firmwareVersion="iLO 4 v2.82"}
⁃ {firmwareVersion="iLO 5 v2.72"}
⁃ {firmwareVersion="iLO 5 v2.55"}
⁃ {firmwareVersion="iLO 4 v2.61"}
⁃ {firmwareVersion="iLO 4 v2.79"}
⁃ {firmwareVersion="iLO 5 v2.55"}
⁃ {firmwareVersion="iLO 5 v2.42"}
⁃ {firmwareVersion="iLO 5 v1.37"}
⁃ {firmwareVersion="iLO 4 v2.82"}
⁃ {firmwareVersion="iLO 4 v2.61"}
⁃ {firmwareVersion="iLO 5 v2.78"}
⁃ {firmwareVersion="iLO 5 v2.65"}

Hardware Tested:
⁃ XL420
⁃ Dell PowerEdge R7615
⁃ Synergy 480
⁃ HP DL360
⁃ HP DL325
⁃ HP DL380
⁃ HP DL20
⁃ HP DL365
⁃ Cisco c220
⁃ Cisco c225
⁃ s3260m5
⁃ s3260m4

Below are the truncated results:

iLO 5 Examples:

firmwareVersion="iLO 5 v3.03"

http://localhost:9533/scrape?target=REDACTED&module=dl360

# Excerpt with results for redfish_component_firmware

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="102b0538159000e4",id="19",name="Embedded Video Controller",version="2.5"} 1
redfish_component_firmware{description="14e41657103c22be",id="16",name="HPE Ethernet 1Gb 4-port 331i Adapter - NIC",version="20.14.57"} 1
redfish_component_firmware{description="14e4165f103c1786",id="15",name="HP Ethernet 1Gb 2-port 332T Adapter",version="20.14.57"} 1
redfish_component_firmware{description="80861572103c22fc",id="17",name="HPE Ethernet 10Gb 2-port 562FLR-SFP+ Adpt",version="10.51.5"} 1
redfish_component_firmware{description="9005028f103c0602",id="18",name="HPE Smart Array P408i-a SR Gen10",version="3.00"} 1
redfish_component_firmware{description="InnovationEngineFirmware",id="8",name="Innovation Engine (IE) Firmware",version="0.2.1.2"} 1
redfish_component_firmware{description="Intelligent Provisioning",id="12",name="Intelligent Provisioning",version="3.40.192"} 1
redfish_component_firmware{description="MO000800JWUFU",id="20",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="MO000800JWUFU",id="21",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="MO000800JWUFU",id="22",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="MO000800JWUFU",id="23",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="MO000800JWUFU",id="24",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="MO000800JWUFU",id="25",name="Drive",version="HPD1"} 1
redfish_component_firmware{description="PlatformDefinitionTable",id="3",name="Intelligent Platform Abstraction Data",version="11.0.0 Build 15"} 1
redfish_component_firmware{description="PowerManagementController",id="5",name="Power Management Controller Firmware",version="1.0.7"} 1
redfish_component_firmware{description="PowerManagementControllerBootloader",id="13",name="Power Management Controller FW Bootloader",version="1.1"} 1
redfish_component_firmware{description="PowerSupplies",id="6",name="Power Supply Firmware",version="1.00"} 1
redfish_component_firmware{description="PowerSupplies",id="7",name="Power Supply Firmware",version="1.00"} 1
redfish_component_firmware{description="SPSFirmwareDescriptor",id="10",name="Server Platform Services (SPS) Descriptor",version="1.2 0"} 1
redfish_component_firmware{description="SPSFirmwareVersionData",id="9",name="Server Platform Services (SPS) Firmware",version="4.1.4.339"} 1
redfish_component_firmware{description="SmartStorageEnergyPack",id="14",name="HPE Smart Storage Energy Pack 1 Firmware",version="0.70"} 1
redfish_component_firmware{description="SystemBMC",id="1",name="iLO 5",version="3.03 Mar 22 2024"} 1
redfish_component_firmware{description="SystemProgrammableLogicDevice",id="4",name="System Programmable Logic Device",version="0x31"} 1
redfish_component_firmware{description="SystemRomActive",id="2",name="System ROM",version="U32 v2.32 (03/09/2020)"} 1
redfish_component_firmware{description="SystemRomBackup",id="11",name="Redundant System ROM",version="U32 v2.32 (03/09/2020)"} 1

firmwareVersion="iLO 5 v2.65"

http://localhost:9533/scrape?target=REDACTED&module=synergy480

# Excerpt with results for redfish_component_firmware

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="102b0538159000e4",id="15",name="Embedded Video Controller",version="2.5"} 1
redfish_component_firmware{description="14e416a4103c2231",id="13",name="Synergy 3820C 10/20Gb CNA",version="7.19.14"} 1
redfish_component_firmware{description="9005028f103c0700",id="14",name="HPE Smart Array P204i-c SR Gen10",version="4.11"} 1
redfish_component_firmware{description="InnovationEngineFirmware",id="6",name="Innovation Engine (IE) Firmware",version="0.2.2.3"} 1
redfish_component_firmware{description="Intelligent Provisioning",id="10",name="Intelligent Provisioning",version="3.00.382"} 1
redfish_component_firmware{description="MK000960GWEZK",id="16",name="Drive",version="HPGG"} 1
redfish_component_firmware{description="MK000960GWEZK",id="17",name="Drive",version="HPGG"} 1
redfish_component_firmware{description="PlatformDefinitionTable",id="3",name="Intelligent Platform Abstraction Data",version="15.1.0 Build 33"} 1
redfish_component_firmware{description="PowerManagementController",id="5",name="Power Management Controller Firmware",version="1.0.7"} 1
redfish_component_firmware{description="PowerManagementControllerBootloader",id="11",name="Power Management Controller FW Bootloader",version="1.1"} 1
redfish_component_firmware{description="SPSFirmwareDescriptor",id="8",name="Server Platform Services (SPS) Descriptor",version="1.1 0"} 1
redfish_component_firmware{description="SPSFirmwareVersionData",id="7",name="Server Platform Services (SPS) Firmware",version="4.1.4.505"} 1
redfish_component_firmware{description="SmartStorageEnergyPack",id="12",name="HPE Smart Storage Energy Pack 1 Firmware",version="0.60"} 1
redfish_component_firmware{description="SystemBMC",id="1",name="iLO 5",version="2.65 Feb 23 2022"} 1
redfish_component_firmware{description="SystemProgrammableLogicDevice",id="4",name="System Programmable Logic Device",version="0x0F"} 1
redfish_component_firmware{description="SystemRomActive",id="2",name="System ROM",version="I42 v2.66 (06/01/2022)"} 1
redfish_component_firmware{description="SystemRomBackup",id="9",name="Redundant System ROM",version="I42 v2.40 (10/26/2020)"} 1

firmwareVersion="iLO 5 v2.78"

http://localhost:9533/scrape?target=REDACTED&module=synergy480

# Excerpt with results for redfish_component_firmware

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="102b0538159000e4",id="15",name="Embedded Video Controller",version="2.5"} 1
redfish_component_firmware{description="14e416a4103c2231",id="13",name="Synergy 3820C 10/20Gb CNA",version="7.19.14"} 1
redfish_component_firmware{description="9005028f103c0700",id="14",name="HPE Smart Array P204i-c SR Gen10",version="4.11"} 1
redfish_component_firmware{description="InnovationEngineFirmware",id="6",name="Innovation Engine (IE) Firmware",version="0.2.2.3"} 1
redfish_component_firmware{description="Intelligent Provisioning",id="10",name="Intelligent Provisioning",version="3.62.7"} 1
redfish_component_firmware{description="MK000960GWEZK",id="16",name="Drive",version="HPGG"} 1
redfish_component_firmware{description="MK000960GWEZK",id="17",name="Drive",version="HPGG"} 1
redfish_component_firmware{description="PlatformDefinitionTable",id="3",name="Intelligent Platform Abstraction Data",version="15.1.0 Build 33"} 1
redfish_component_firmware{description="PowerManagementController",id="5",name="Power Management Controller Firmware",version="1.0.8"} 1
redfish_component_firmware{description="PowerManagementControllerBootloader",id="11",name="Power Management Controller FW Bootloader",version="1.1"} 1
redfish_component_firmware{description="SPSFirmwareDescriptor",id="8",name="Server Platform Services (SPS) Descriptor",version="1.2 0"} 1
redfish_component_firmware{description="SPSFirmwareVersionData",id="7",name="Server Platform Services (SPS) Firmware",version="4.1.4.505"} 1
redfish_component_firmware{description="SmartStorageEnergyPack",id="12",name="HPE Smart Storage Energy Pack 1 Firmware",version="0.60"} 1
redfish_component_firmware{description="SystemBMC",id="1",name="iLO 5",version="2.78 Dec 16 2022"} 1
redfish_component_firmware{description="SystemProgrammableLogicDevice",id="4",name="System Programmable Logic Device",version="0x0F"} 1
redfish_component_firmware{description="SystemRomActive",id="2",name="System ROM",version="I42 v2.66 (06/01/2022)"} 1
redfish_component_firmware{description="SystemRomBackup",id="9",name="Redundant System ROM",version="I42 v2.58 (11/24/2021)"} 1

iLO 4 Examples


firmwareVersion="iLO 4 v2.61

http://localhost:9533/scrape?target=REDACTED&module=dl360&credential_profile=cct-openstack


# Excerpt with results for redfish_component_firmware

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="Bay 1",id="",name="Power Supply",version="1.00"} 1
redfish_component_firmware{description="Bay 2",id="",name="Power Supply",version="1.00"} 1
redfish_component_firmware{description="Embedded FlexibleLOM 1",id="",name="HP Ethernet 10Gb 2-port 560FLR-SFP+ Adapter",version="1.2836.0"} 1
redfish_component_firmware{description="Embedded LOM 1",id="",name="HPE Ethernet 1Gb 4-port 331i Adapter - NIC",version="20.6.61"} 1
redfish_component_firmware{description="Embedded RAID 1",id="",name="Smart HBA H240ar",version="7.00"} 1
redfish_component_firmware{description="Slot 1",id="",name="HP Ethernet 10Gb 2-port 560SFP+ Adapter",version="1.2836.0"} 1
redfish_component_firmware{description="Slot 2",id="",name="HP Ethernet 10Gb 2-port 560SFP+ Adapter",version="1.2836.0"} 1
redfish_component_firmware{description="System Board",id="",name="Intelligent Platform Abstraction Data",version="25.13"} 1
redfish_component_firmware{description="System Board",id="",name="Intelligent Provisioning",version="2.50.164"} 1
redfish_component_firmware{description="System Board",id="",name="Power Management Controller FW Bootloader",version="1.0"} 1
redfish_component_firmware{description="System Board",id="",name="Power Management Controller Firmware",version="1.0.9"} 1
redfish_component_firmware{description="System Board",id="",name="Redundant System ROM",version="P89 v2.60 (05/21/2018)"} 1
redfish_component_firmware{description="System Board",id="",name="SAS Programmable Logic Device",version="Version 0x03"} 1
redfish_component_firmware{description="System Board",id="",name="Server Platform Services (SPS) Firmware",version="3.1.3.21.0"} 1
redfish_component_firmware{description="System Board",id="",name="System Programmable Logic Device",version="Version 0x34"} 1
redfish_component_firmware{description="System Board",id="",name="System ROM",version="P89 v2.60 (05/21/2018)"} 1
redfish_component_firmware{description="System Board",id="",name="iLO",version="2.61 Jul 27 2018"} 1
http://localhost:9533/scrape?target=REDACTED&module=xl420&credential_profile=cct-openstack

# Excerpt with results for redfish_component_firmware

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="Bay 1",id="",name="Power Supply",version="1.00"} 1
redfish_component_firmware{description="Bay 2",id="",name="Power Supply",version="1.00"} 1
redfish_component_firmware{description="Embedded",id="",name="HPE Smart Storage Battery 1 Firmware",version="0.60"} 1
redfish_component_firmware{description="Embedded FlexibleLOM 1",id="",name="HP Ethernet 10Gb 2-port 560FLR-SFP+ Adapter",version="1.2836.0"} 1
redfish_component_firmware{description="Embedded RAID 1",id="",name="Smart Array P840ar Controller",version="7.00"} 1
redfish_component_firmware{description="Slot 1",id="",name="Smart Array P440 Controller",version="7.00"} 1
redfish_component_firmware{description="Slot 3",id="",name="HP Ethernet 10Gb 2-port 560SFP+ Adapter",version="1.2836.0"} 1
redfish_component_firmware{description="Slot 4",id="",name="NVM Express Controller",version="N/A"} 1
redfish_component_firmware{description="Slot 6",id="",name="NVM Express Controller",version="N/A"} 1
redfish_component_firmware{description="System Board",id="",name="Intelligent Platform Abstraction Data",version="23.01"} 1
redfish_component_firmware{description="System Board",id="",name="Power Management Controller FW Bootloader",version="1.0"} 1
redfish_component_firmware{description="System Board",id="",name="Power Management Controller Firmware",version="1.0.9"} 1
redfish_component_firmware{description="System Board",id="",name="Redundant System ROM",version="U19 v2.20 (05/05/2016)"} 1
redfish_component_firmware{description="System Board",id="",name="SAS Programmable Logic Device",version="Version 0x03"} 1
redfish_component_firmware{description="System Board",id="",name="Server Platform Services (SPS) Firmware",version="3.1.3.21.0"} 1
redfish_component_firmware{description="System Board",id="",name="System Programmable Logic Device",version="Version 0x0D"} 1
redfish_component_firmware{description="System Board",id="",name="System ROM",version="U19 v2.40 (02/17/2017)"} 1
redfish_component_firmware{description="System Board",id="",name="iLO",version="2.79 Nov 16 2021"} 1

Cisco servers (testing to ensure it doesn’t break the scrape)

http://localhost:9533/scrape?target=REDACTED&module=c220&plugins=nuova


# Full output

# HELP redfish_component_firmware Current firmware component status 1 = OK, 0 = BAD
# TYPE redfish_component_firmware gauge
redfish_component_firmware{description="",id="BIOS",name="BIOS",version="C220M5.4.3.2a.0.0613231010"} 1
redfish_component_firmware{description="",id="Board_Controller",name="Board_Controller",version="62.0"} 1
redfish_component_firmware{description="",id="CIMC",name="CIMC",version="4.3(2.230270)"} 1
redfish_component_firmware{description="",id="UCSC-RAID-M5-slot-MRAID",name="UCSC-RAID-M5-slot-MRAID",version="51.19.0-4532"} 1
# HELP redfish_cpu_status Current cpu status 1 = OK, 0 = BAD
# TYPE redfish_cpu_status gauge
redfish_cpu_status{chassisModel="c220",chassisSerialNumber=“REDACTED”,id="1",model="Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz",socket="CPU1",totalCores="18"} 1
redfish_cpu_status{chassisModel="c220",chassisSerialNumber="REDACTED",id="2",model="Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz",socket="CPU2",totalCores="18"} 1
# HELP redfish_device_info Current snapshot of device firmware information
# TYPE redfish_device_info gauge
redfish_device_info{biosVersion="C220M5.4.3.2a.0.0613231010",chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="4.3(2.230270)",name=" C220-REDACTED"} 1
# HELP redfish_disk_drive_status Current Disk Drive status 1 = OK, 0 = BAD, -1 = DISABLED
# TYPE redfish_disk_drive_status gauge
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="10",location="10",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04PTS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="3",location="3",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04CTS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="4",location="4",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04BTS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="5",location="5",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97K0A0FATS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="6",location="6",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04DTS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="7",location="7",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97K0A0F9TS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="8",location="8",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04ATS6E"} 1
redfish_disk_drive_status{capacityMiB="1526185",chassisModel="c220",chassisSerialNumber="REDACTED",id="9",location="9",name="PX05SVB160 - 1.6TB 2.5 inch Enterprise performance 12G SAS SSD (3X endurance)",serialnumber="97W0A04ETS6E"} 1
redfish_disk_drive_status{capacityMiB="228936",chassisModel="c220",chassisSerialNumber="REDACTED",id="1",location="1",name="SAMSUNG MZ7LM240HMHQ-00003 - 240GB 2.5 inch 6Gb Enterprise Value SSD",serialnumber="S3LKNX0K303765"} 1
redfish_disk_drive_status{capacityMiB="228936",chassisModel="c220",chassisSerialNumber="REDACTED",id="2",location="2",name="SAMSUNG MZ7LM240HMHQ-00003 - 240GB 2.5 inch 6Gb Enterprise Value SSD",serialnumber="S3LKNX0K303761"} 1
# HELP redfish_memory_dimm_status Current dimm status 1 = OK, 0 = BAD
# TYPE redfish_memory_dimm_status gauge
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_A2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_B2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_C2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_D2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_E2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_F2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_G2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_H2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_J2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_K2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_L2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="16384",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_M2",partNumber="M393A2G40EB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_A1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_B1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_C1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_D1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_E1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_F1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_G1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_H1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_J1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_K1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_L1",partNumber="M393A4K40BB2-CTD"} 1
redfish_memory_dimm_status{capacityMiB="32768",chassisModel="c220",chassisSerialNumber="REDACTED",manufacturer="0xCE00",name="DIMM_M1",partNumber="M393A4K40BB2-CTD"} 1
# HELP redfish_memory_status Current memory status 1 = OK, 0 = BAD
# TYPE redfish_memory_status gauge
redfish_memory_status{chassisModel="c220",chassisSerialNumber="REDACTED",totalSystemMemoryGiB="576"} 1
# HELP redfish_power_supply_output Power supply output in watts
# TYPE redfish_power_supply_output gauge
redfish_power_supply_output{bayNumber="0",chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="10062019",manufacturer="Cisco Systems Inc",model="PS-2112-9S-LF",name="PSU1",powerSupplyType="AC",serialNumber="REDACTED"} 90
redfish_power_supply_output{bayNumber="0",chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="10062019",manufacturer="Cisco Systems Inc",model="PS-2112-9S-LF",name="PSU2",powerSupplyType="AC",serialNumber="REDACTED"} 99
# HELP redfish_power_supply_status Current power supply status 1 = OK, 0 = BAD
# TYPE redfish_power_supply_status gauge
redfish_power_supply_status{bayNumber="0",chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="10062019",manufacturer="Cisco Systems Inc",model="PS-2112-9S-LF",name="PSU1",powerSupplyType="AC",serialNumber="REDACTED"} 1
redfish_power_supply_status{bayNumber="0",chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="10062019",manufacturer="Cisco Systems Inc",model="PS-2112-9S-LF",name="PSU2",powerSupplyType="AC",serialNumber="REDACTED"} 1
# HELP redfish_power_supply_total_consumed Total output of all power supplies in watts
# TYPE redfish_power_supply_total_consumed gauge
redfish_power_supply_total_consumed{chassisModel="c220",chassisSerialNumber="REDACTED",memberId="/redfish/v1/Chassis/1/Power"} 216
# HELP redfish_power_voltage_output Power voltage output in watts
# TYPE redfish_power_voltage_output gauge
redfish_power_voltage_output{chassisModel="c220",chassisSerialNumber="REDACTED",name="P12V"} 11.89
redfish_power_voltage_output{chassisModel="c220",chassisSerialNumber="REDACTED",name="P3V_BAT_SCALED"} 3.042
redfish_power_voltage_output{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU1_VOUT"} 12.2
redfish_power_voltage_output{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU2_VOUT"} 12.2
# HELP redfish_power_voltage_status Current power voltage status 1 = OK, 0 = BAD
# TYPE redfish_power_voltage_status gauge
redfish_power_voltage_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="P12V"} 1
redfish_power_voltage_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="P3V_BAT_SCALED"} 1
redfish_power_voltage_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU1_VOUT"} 1
redfish_power_voltage_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU2_VOUT"} 1
# HELP redfish_storage_controller_status Current storage controller status 1 = OK, 0 = BAD
# TYPE redfish_storage_controller_status gauge
redfish_storage_controller_status{chassisModel="c220",chassisSerialNumber="REDACTED",firmwareVersion="51.19.0-4532",model="UCSC-RAID-M5",name="MRAID"} 1
# HELP redfish_thermal_fan_speed Current fan speed in the unit of percentage, possible values are 0 - 100
# TYPE redfish_thermal_fan_speed gauge
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD1_FAN1_SPEED"} 5460
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD1_FAN2_SPEED"} 5562
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD2_FAN1_SPEED"} 5565
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD2_FAN2_SPEED"} 5562
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD3_FAN1_SPEED"} 5670
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD3_FAN2_SPEED"} 5459
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD4_FAN1_SPEED"} 5565
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD4_FAN2_SPEED"} 5665
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD5_FAN1_SPEED"} 5565
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD5_FAN2_SPEED"} 5665
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD6_FAN1_SPEED"} 5565
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD6_FAN2_SPEED"} 5665
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD7_FAN1_SPEED"} 5460
redfish_thermal_fan_speed{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD7_FAN2_SPEED"} 5562
# HELP redfish_thermal_fan_status Current fan status 1 = OK, 0 = BAD
# TYPE redfish_thermal_fan_status gauge
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD1_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD1_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD2_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD2_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD3_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD3_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD4_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD4_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD5_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD5_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD6_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD6_FAN2_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD7_FAN1_SPEED"} 1
redfish_thermal_fan_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="MOD7_FAN2_SPEED"} 1
# HELP redfish_thermal_sensor_status Current sensor status 1 = OK, 0 = BAD
# TYPE redfish_thermal_sensor_status gauge
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_A1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_A2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_B1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_B2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_C1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_C2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_D1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_D2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_E1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_E2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_F1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_F2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_G1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_G2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_H1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_H2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_J1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_J2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_K1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_K2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_L1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_L2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_M1_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_M2_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="P1_TEMP_SENS"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="P2_TEMP_SENS"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="PCH_TEMP_SENS"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU1_TEMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU2_TEMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="RISER1_INLET_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="RISER2_INLET_TMP"} 1
redfish_thermal_sensor_status{chassisModel="c220",chassisSerialNumber="REDACTED",name="TEMP_SENS_FRONT"} 1
# HELP redfish_thermal_sensor_temperature Current sensor temperature reading in Celsius
# TYPE redfish_thermal_sensor_temperature gauge
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_A1_TMP"} 41
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_A2_TMP"} 40
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_B1_TMP"} 41
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_B2_TMP"} 41
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_C1_TMP"} 41
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_C2_TMP"} 41
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_D1_TMP"} 39
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_D2_TMP"} 38
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_E1_TMP"} 40
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_E2_TMP"} 39
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_F1_TMP"} 40
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P1_F2_TMP"} 40
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_G1_TMP"} 36
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_G2_TMP"} 35
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_H1_TMP"} 37
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_H2_TMP"} 36
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_J1_TMP"} 39
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_J2_TMP"} 37
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_K1_TMP"} 34
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_K2_TMP"} 34
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_L1_TMP"} 35
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_L2_TMP"} 34
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_M1_TMP"} 35
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="DDR4_P2_M2_TMP"} 35
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="P1_TEMP_SENS"} 46.5
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="P2_TEMP_SENS"} 39.5
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="PCH_TEMP_SENS"} 48
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU1_TEMP"} 30
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="PSU2_TEMP"} 29
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="RISER1_INLET_TMP"} 42
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="RISER2_INLET_TMP"} 46
redfish_thermal_sensor_temperature{chassisModel="c220",chassisSerialNumber="REDACTED",name="TEMP_SENS_FRONT"} 25
# HELP redfish_thermal_summary_status Current sensor status 1 = OK, 0 = BAD
# TYPE redfish_thermal_summary_status gauge
redfish_thermal_summary_status{chassisModel="c220",chassisSerialNumber="REDACTED",url="/redfish/v1/Chassis/1/Thermal"} 1
# HELP up was the last scrape of fishymetrics successful.
# TYPE up gauge
up 1

@derrick-dacosta
Copy link
Collaborator

Hi @jenniferKaiser21, has the additional scrapes for the firmware versions caused a drastic increase in total scrape durations?

@jenniferKaiser21
Copy link
Collaborator Author

Hi @jenniferKaiser21, has the additional scrapes for the firmware versions caused a drastic increase in total scrape durations?

@derrick-dacosta , it depends on how many firmware components are collected, but it can increase the scrape time by a fair amount. Here are a few examples, and I can provide you server hostnames privately if you're interested:

Time test with and without firmware gathering

Server 1:

iLO 5
Number of firmware components: 17
Without Firmware Module: "elapsed_time_sec":32.533515458
With Firmware Module: "elapsed_time_sec":47.747484375
Time differential: 15.21 seconds
Percentage increase: 46.7568% increase

Server 2:

iLO 5
Number of firmware components: 19
Without Firmware Module: "elapsed_time_sec":42.867388
With Firmware Module: "elapsed_time_sec":23.206812
Time differential: 19.66 seconds
Percentage increase: 84.7414% increase

Server 3:

iLO 5
Number of firmware components: 44
Without Firmware Module: "elapsed_time_sec":90.424371416
With Firmware Module: "elapsed_time_sec":58.608913792
Time differential: 31.82 seconds
Percentage increase: 54.3003% increase

Server 4:

iLO 5
Number of firmware components: 21
Without Firmware Module: "elapsed_time_sec":29.7601025
With Firmware Module: "elapsed_time_sec":40.924333041
Time differential: 11.16 seconds
Percentage increase: 37.5% increase

Server 5:

iLO 4
Number of firmware components: 15
Without Firmware Module: "elapsed_time_sec":29.255466375
With Firmware Module: "elapsed_time_sec":30.594284709
Time differential: 1.34 seconds
Percentage increase: 4.5812% increase

oem/system.go Outdated Show resolved Hide resolved
Copy link
Collaborator

@derrick-dacosta derrick-dacosta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we just need to update the CHANGELOG but after that LGTM! Then we should add a new arg flag to exclude certain firmware Inventory scrapes.

@jenniferKaiser21
Copy link
Collaborator Author

@derrick-dacosta @ibrahimkk-moideen , I've added the firmware.modules-exclude flag, updated the README, and the CHANGELOG.

Copy link
Collaborator

@derrick-dacosta derrick-dacosta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Collaborator

@ibrahimkk-moideen ibrahimkk-moideen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@jenniferKaiser21 jenniferKaiser21 merged commit f677759 into Comcast:main Jul 8, 2024
3 checks passed
@jenniferKaiser21 jenniferKaiser21 deleted the firmwareInventoryMetrics branch July 8, 2024 14:14
@derrick-dacosta derrick-dacosta linked an issue Jul 9, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for Firmware Inventory metrics gathering
3 participants