diff --git a/lib/Zabbix/Agent/Addons/Disks.pm b/lib/Zabbix/Agent/Addons/Disks.pm index 1eaf3d2..f87901b 100644 --- a/lib/Zabbix/Agent/Addons/Disks.pm +++ b/lib/Zabbix/Agent/Addons/Disks.pm @@ -36,6 +36,10 @@ sub list_smart_hdd{ foreach my $line (@smart_info){ if ($line =~ m/^SMART support is:\s+Enabled/i){ $smart_enabled = 1; + last; + elsif ($line =~ m/NVMe/i){ + $smart_enabled = 1; + last; } elsif ($line =~ m/^Transport protocol:\s+iSCSI/i){ # Skip iSCSI block next BLOCK; diff --git a/zabbix_scripts/util_generate_sensors_ini b/zabbix_scripts/util_generate_sensors_ini index 4a4b5e2..83008d7 100755 --- a/zabbix_scripts/util_generate_sensors_ini +++ b/zabbix_scripts/util_generate_sensors_ini @@ -276,7 +276,7 @@ if ($lmsensor && -x $lmsensor){ $sensor->{description} = $name; $sensor->{type} = 'temp'; $sensor->{unit} = '°C'; - $sensor->{cmd} = "$lmsensor | perl -ne 'if (/^$name:\\s*\\+(\\d+)/) { print \"\$1\\n\"; last }'" + $sensor->{cmd} = "$lmsensor | perl -ne 'if (/^$name:\\s*\\+(\\d+)/) { print \"\$1\\n\"; last }'"; my $id = sensor_name($name); $sensors->{$id} = $sensor; print "Found a temperature sensor using lm_sensors: $name\n"; @@ -297,7 +297,7 @@ if ($smartctl && -x $smartctl){ threshold_high => $def_hd_temp_thres_high, type => 'temp', unit => '°C', - cmd => "$smartctl -A /dev/$block | perl -ne 'if (/Temperature_Celsius(\\s+[^\\s]+){7}\\s+(\\d+(\.\d+)?)/) { print \"\$2\\n\"; last }'" + cmd => "$smartctl -A /dev/$block | perl -ne 'if (/Temperature_Celsius(\\s+[^\\s]+){7}\\s+(\\d+(\\.\\d+)?)/) { print \"\$2\\n\"; last }'" }; print "Found a temperature sensor using smartctl: $block\n"; last;