From ca9c45b3f28aa497e4dec0e67cfc54cb69dc05a0 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Sun, 28 Oct 2018 17:56:37 +0100 Subject: [PATCH] graphs: add NVMe disks Add NVMe disks to media and hardwaregraphs. Signed-off-by: Arne Fitzenreiter --- config/rootfiles/core/125/filelists/files | 3 +++ html/cgi-bin/hardwaregraphs.cgi | 6 +++++- html/cgi-bin/media.cgi | 4 ++-- src/scripts/makegraphs | 17 ++++++++++++----- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/config/rootfiles/core/125/filelists/files b/config/rootfiles/core/125/filelists/files index 207ff839f1..47c0e77f3b 100644 --- a/config/rootfiles/core/125/filelists/files +++ b/config/rootfiles/core/125/filelists/files @@ -3,4 +3,7 @@ etc/issue 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 diff --git a/html/cgi-bin/hardwaregraphs.cgi b/html/cgi-bin/hardwaregraphs.cgi index f5999c87eb..e582acfb91 100644 --- a/html/cgi-bin/hardwaregraphs.cgi +++ b/html/cgi-bin/hardwaregraphs.cgi @@ -71,6 +71,10 @@ if ( $querry[0] =~ "hwtemp"){ 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, ''); @@ -93,7 +97,7 @@ if ( $querry[0] =~ "hwtemp"){ &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 = $_; diff --git a/html/cgi-bin/media.cgi b/html/cgi-bin/media.cgi index 4c94d1c8dd..5753bc301d 100644 --- a/html/cgi-bin/media.cgi +++ b/html/cgi-bin/media.cgi @@ -45,9 +45,9 @@ my @querry = split(/\?/,$ENV{'QUERY_STRING'}); $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); diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs index 0b56b93250..b91a70e3ad 100644 --- a/src/scripts/makegraphs +++ b/src/scripts/makegraphs @@ -85,10 +85,17 @@ sub updatehdddata{ 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){ @@ -102,7 +109,7 @@ sub updatehdddata{ ## 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 = $_; -- 2.39.2