From b261377856fc431d2336c274ce1df14c65a60946 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 16 Dec 2021 22:10:32 +0100 Subject: [eventlog] Make more hw properties filterable --- .../eventlog/inc/filterruleprocessor.inc.php | 61 ++++++++++++++++------ .../statistics/inc/hardwareparser.inc.php | 2 + 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/modules-available/eventlog/inc/filterruleprocessor.inc.php b/modules-available/eventlog/inc/filterruleprocessor.inc.php index 22df1d11..897f923d 100644 --- a/modules-available/eventlog/inc/filterruleprocessor.inc.php +++ b/modules-available/eventlog/inc/filterruleprocessor.inc.php @@ -10,22 +10,49 @@ class FilterRuleProcessor 'currentsession', 'currentuser', 'notes', 'standbysem']; const HW_QUERIES = [ - 'ram_max' => [HardwareInfo::MAINBOARD, 'Memory Maximum Capacity'], - 'ram_slots' => [HardwareInfo::MAINBOARD, 'Memory Slot Count'], - 'ram_manufacturer' => [HardwareInfo::RAM_MODULE, 'Manufacturer'], - 'ram_part_no' => [HardwareInfo::RAM_MODULE, 'Part Number'], - 'ram_speed' => [HardwareInfo::RAM_MODULE, 'Speed'], - 'ram_size' => [HardwareInfo::RAM_MODULE, 'Size'], - 'ram_type' => [HardwareInfo::RAM_MODULE, 'Type'], - 'pci_class' => [HardwareInfo::PCI_DEVICE, 'class'], - 'pci_vendor' => [HardwareInfo::PCI_DEVICE, 'vendor'], - 'pci_device' => [HardwareInfo::PCI_DEVICE, 'device'], - 'hdd_ifspeed' => [HardwareInfo::HDD, 'interface_speed//max'], - 'hdd_blocksize' => [HardwareInfo::HDD, 'physical_block_size'], - 'hdd_rpm' => [HardwareInfo::HDD, 'rotation_rate'], - 'hdd_size' => [HardwareInfo::HDD, 'size'], - 'hdd_sata_version' => [HardwareInfo::HDD, 'sata_version'], - 'hdd_model' => [HardwareInfo::HDD, 'model'], + 'cpu_sockets' => [HardwareInfo::MAINBOARD, 'cpu-sockets', false], + 'cpu_cores' => [HardwareInfo::MAINBOARD, 'cpu-cores', false], + 'cpu_threads' => [HardwareInfo::MAINBOARD, 'cpu-threads', false], + + 'ram_max' => [HardwareInfo::MAINBOARD, 'Memory Maximum Capacity', true], + 'ram_slots' => [HardwareInfo::MAINBOARD, 'Memory Slot Count', true], + 'ram_manufacturer' => [HardwareInfo::RAM_MODULE, 'Manufacturer', true], + 'ram_part_no' => [HardwareInfo::RAM_MODULE, 'Part Number', true], + 'ram_speed_design' => [HardwareInfo::RAM_MODULE, 'Speed', true], + 'ram_speed_current' => [HardwareInfo::RAM_MODULE, 'Configured Memory Speed', false], + 'ram_size' => [HardwareInfo::RAM_MODULE, 'Size', true], + 'ram_type' => [HardwareInfo::RAM_MODULE, 'Type', true], + 'ram_form_factor' => [HardwareInfo::RAM_MODULE, 'Form Factor', true], + 'ram_serial_no' => [HardwareInfo::RAM_MODULE, 'Serial Number', false], + 'ram_voltage_min' => [HardwareInfo::RAM_MODULE, 'Minimum Voltage', true], + 'ram_voltage_max' => [HardwareInfo::RAM_MODULE, 'Maximum Voltage', true], + 'ram_voltage_current' => [HardwareInfo::RAM_MODULE, 'Configured Voltage', false], + + 'mobo_manufacturer' => [HardwareInfo::MAINBOARD, 'Manufacturer', true], + 'mobo_product' => [HardwareInfo::MAINBOARD, 'Product Name', true], + 'mobo_type' => [HardwareInfo::MAINBOARD, 'Type', true], + 'mobo_version' => [HardwareInfo::MAINBOARD, 'Version', true], + 'mobo_serial_no' => [HardwareInfo::MAINBOARD, 'Serial Number', false], + 'mobo_asset_tag' => [HardwareInfo::MAINBOARD, 'Asset Tag', false], + + 'sys_manufacturer' => [HardwareInfo::DMI_SYSTEM, 'Manufacturer', true], + 'sys_product' => [HardwareInfo::DMI_SYSTEM, 'Product Name', true], + 'sys_version' => [HardwareInfo::DMI_SYSTEM, 'Version', true], + 'sys_wakeup_type' => [HardwareInfo::DMI_SYSTEM, 'Wake-up Type', true], + 'sys_serial_no' => [HardwareInfo::DMI_SYSTEM, 'Serial Number', false], + 'sys_uuid' => [HardwareInfo::DMI_SYSTEM, 'UUID', false], + 'sys_sku' => [HardwareInfo::DMI_SYSTEM, 'SKU Number', false], + + 'pci_class' => [HardwareInfo::PCI_DEVICE, 'class', true], + 'pci_vendor' => [HardwareInfo::PCI_DEVICE, 'vendor', true], + 'pci_device' => [HardwareInfo::PCI_DEVICE, 'device', true], + + 'hdd_ifspeed' => [HardwareInfo::HDD, 'interface_speed//max', true], + 'hdd_blocksize' => [HardwareInfo::HDD, 'physical_block_size', true], + 'hdd_rpm' => [HardwareInfo::HDD, 'rotation_rate', true], + 'hdd_size' => [HardwareInfo::HDD, 'size', true], + 'hdd_sata_version' => [HardwareInfo::HDD, 'sata_version', true], + 'hdd_model' => [HardwareInfo::HDD, 'model', true], ]; /* @@ -192,7 +219,7 @@ class FilterRuleProcessor && isset(self::HW_QUERIES[$pathElement]) && Module::isAvailable('statistics')) { // Key matches a predefined hwinfo property, resolve.... $q = new HardwareQuery(self::HW_QUERIES[$pathElement][0], $data['machineuuid']); - $q->addGlobalColumn(self::HW_QUERIES[$pathElement][1]); + $q->addColumn(self::HW_QUERIES[$pathElement][2], self::HW_QUERIES[$pathElement][1]); $res = $q->query(); if ($res !== false) { $row = $res->fetch(); diff --git a/modules-available/statistics/inc/hardwareparser.inc.php b/modules-available/statistics/inc/hardwareparser.inc.php index 8f55493d..9b228c33 100644 --- a/modules-available/statistics/inc/hardwareparser.inc.php +++ b/modules-available/statistics/inc/hardwareparser.inc.php @@ -354,7 +354,9 @@ class HardwareParser ['Socket Designation'], ['Type', 'Family', 'Manufacturer', 'Signature', 'Version', 'Core Count', 'Thread Count'], ['Voltage', 'Current Speed', 'Upgrade', 'Core Enabled']); + // Information about system slots self::updateHwTypeFromDmi($uuid, $data, 9, HardwareInfo::SYSTEM_SLOT, function (array &$entry): bool { + // Use a callback filter to extract PCIe slot metadata into unique fields if (!isset($entry['Type'])) return false; // Split up PCIe info -- cgit v1.2.3-55-g7522