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";