Add NVMe disks to media and hardwaregraphs.
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
etc/ssh/sshd_config
etc/sysctl.conf
srv/web/ipfire/cgi-bin/credits.cgi
+srv/web/ipfire/cgi-bin/hardwaregraphs.cgi
+srv/web/ipfire/cgi-bin/media.cgi
+usr/local/bin/makegraphs
var/ipfire/langs
print "Content-type: image/png\n\n";
binmode(STDOUT);
&Graphs::updatehddgraph($querry[0],$querry[1]);
+}elsif ( $querry[0] =~ "nvme?" ){
+ print "Content-type: image/png\n\n";
+ binmode(STDOUT);
+ &Graphs::updatehddgraph($querry[0],$querry[1]);
}else{
&Header::showhttpheaders();
&Header::openpage($Lang::tr{'hardware graphs'}, 1, '');
&General::writehash("${General::swroot}/sensors/settings", \%sensorsettings);
}
- my @disks = `ls -1 /sys/block | grep -E '^sd' | sort | uniq`;
+ my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme' | sort | uniq`;
foreach (@disks){
my $disk = $_;
$querry[0] = '' unless defined $querry[0];
$querry[1] = 'hour' unless defined $querry[1];
-my @devices = `ls -1 /sys/block | grep -E '^sd|^mmcblk|^xvd|^vd|^md' | sort | uniq`;
+my @devices = `ls -1 /sys/block | grep -E '^sd|^mmcblk|^nvme|^xvd|^vd|^md' | sort | uniq`;
-if ( $querry[0] =~ "sd?" || $querry[0] =~ "mmcblk?" || $querry[0] =~ "xvd??" || $querry[0] =~ "vd?" || $querry[0] =~ "md*" ){
+if ( $querry[0] =~ "sd?" || $querry[0] =~ "mmcblk?" || $querry[0] =~ "nvme?n?" || $querry[0] =~ "xvd??" || $querry[0] =~ "vd?" || $querry[0] =~ "md*" ){
print "Content-type: image/png\n\n";
binmode(STDOUT);
my $smart_output = '';
system("$path_smartctl -iHA /dev/$disk > /var/run/smartctl_out_hddtemp-$disk");
if ( -e "/var/run/smartctl_out_hddtemp-".$array[$#array] ){
- my $hdd_output = `cat /var/run/smartctl_out_hddtemp-$array[$#array] | grep Temperature_`;
- my @t = split(/\s+/,$hdd_output);
- $temp = $t[9];
- }else{$temp = 0;}
+ my $hdd_nvme = `grep "NVMe Log" /var/run/smartctl_out_hddtemp-$array[$#array]`;
+ if ( $hdd_nvme !~/NVMe Log/ ) {
+ my $hdd_output = `cat /var/run/smartctl_out_hddtemp-$array[$#array] | grep Temperature_`;
+ my @t = split(/\s+/,$hdd_output);
+ $temp = $t[9];
+ } else {
+ my $hdd_output = `cat /var/run/smartctl_out_hddtemp-$array[$#array] | grep Temperature:`;
+ my @t = split(/\s+/,$hdd_output);
+ $temp = $t[1];
+ }
+ } else { $temp = 0; }
print "Temperature for ".$array[$#array]."->".$temp."<-\n";
# Nur ins RDD wenn nicht 0 (sonst klappt die min Anzeige nicht)
if ($temp){
## Update vnstat
system ('/usr/bin/vnstat -u');
-my @disks = `ls -1 /sys/block | grep -E '^sd|^mmcblk|^xvd|^vd|^md' | sort | uniq`;
+my @disks = `ls -1 /sys/block | grep -E '^sd|^nvme|^mmcblk|^xvd|^vd|^md' | sort | uniq`;
system("unlink /var/run/hddstatus 2>/dev/null && touch /var/run/hddstatus");
foreach (@disks){
my $disk = $_;