summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2021-12-16 22:10:32 +0100
committerSimon Rettberg2021-12-16 22:10:32 +0100
commitb261377856fc431d2336c274ce1df14c65a60946 (patch)
tree31a290c69c34faf3006f9748f00d89ee7d8b8037
parent[passthrough] Fix saving groupid (diff)
downloadslx-admin-b261377856fc431d2336c274ce1df14c65a60946.tar.gz
slx-admin-b261377856fc431d2336c274ce1df14c65a60946.tar.xz
slx-admin-b261377856fc431d2336c274ce1df14c65a60946.zip
[eventlog] Make more hw properties filterable
-rw-r--r--modules-available/eventlog/inc/filterruleprocessor.inc.php61
-rw-r--r--modules-available/statistics/inc/hardwareparser.inc.php2
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