graphs: add NVMe disks

Add NVMe disks to media and hardwaregraphs.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Arne Fitzenreiter
2018-10-28 17:56:37 +01:00
parent d823d5f072
commit ca9c45b3f2
4 changed files with 22 additions and 8 deletions

View File

@@ -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

View File

@@ -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 = $_;

View File

@@ -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);

View File

@@ -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 = $_;