From 7b42d3f2a9757de334f3f003b07672e909351013 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Thu, 29 Jun 2023 11:15:10 +0200 Subject: [PATCH] Drop ipmitool stderr and simplify output parsing --- zabbix_scripts/util_generate_sensors_ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zabbix_scripts/util_generate_sensors_ini b/zabbix_scripts/util_generate_sensors_ini index 59d9e42..025c462 100755 --- a/zabbix_scripts/util_generate_sensors_ini +++ b/zabbix_scripts/util_generate_sensors_ini @@ -124,7 +124,7 @@ if ($ipmitool && -x $ipmitool){ $sensor->{description} = $name; $sensor->{type} = 'temp'; $sensor->{unit} = '°C'; - $sensor->{cmd} = "$ipmitool sdr get '$name' | grep 'Sensor Reading' | awk '{print \$4}' | head -1"; + $sensor->{cmd} = "$ipmitool sdr get '$name' 2>/dev/null | perl -ne '/Sensor Reading\\s*:\\s*([^\\s]+)/ && print \"\$1\\n\"'"; my $id = sensor_name($name); $sensors->{$id} = $sensor; print "Found a temperature sensor using IPMI: $name\n"; @@ -174,7 +174,7 @@ if ($ipmitool && -x $ipmitool){ $sensor->{description} = $name; $sensor->{type} = 'fan'; $sensor->{unit} = ($value =~ m/percent|%/ || $val < 100) ? '%' : 'rpm'; - $sensor->{cmd} = "$ipmitool sdr get '$name' | grep 'Sensor Reading' | awk '{print \$4}' | head -1"; + $sensor->{cmd} = "$ipmitool sdr get '$name' 2>/dev/null | perl -ne '/Sensor Reading\\s*:\\s*([^\\s]+)/ && print \"\$1\\n\"'"; my $id = sensor_name($name); $sensors->{$id} = $sensor; print "Found a fan sensor using IPMI: $name\n"; @@ -224,7 +224,7 @@ if ($ipmitool && -x $ipmitool){ $sensor->{description} = $name; $sensor->{type} = 'power'; $sensor->{unit} = ($name =~ m/%/) ? '%' : 'Watt'; - $sensor->{cmd} = "$ipmitool sdr get '$name' | grep 'Sensor Reading' | awk '{print \$4}' | head -1"; + $sensor->{cmd} = "$ipmitool sdr get '$name' 2>/dev/null | perl -ne '/Sensor Reading\\s*:\\s*([^\\s]+)/ && print \"\$1\\n\"'"; my $id = sensor_name($name); $sensors->{$id} = $sensor; print "Found a power sensor using IPMI: $name\n";