またもや本質的ではない補足なんですが…

紹介した check_snmp_disk_monitor.pl は、使用率を計算した時に指数表記になる場合(使用率が 0 より大きく 0.01% 未満の場合)をケアしていないようです。

# find the percentate - eval to avoid divide by zero errors
eval { $mounts{$key}->{percent_used} = $mounts{$key}->{used} / $mounts{$key}->{size} };
$mounts{$key}->{percent_used} =~ s/^0\.([0-9]{1,2})([0-9]?).*/\1/; # truncate
if ( $2 >= 5 ) { $mounts{$key}->{percent_used}++ }; # round the number number

何このアホなコード。

何故素直に

$mounts{$key}->{percent_used} = 0;
eval { $mounts{$key}->{percent_used} = int($mounts{$key}->{used} * 100.0 / $mounts{$key}->{size}) };

としないのか…

Trackback

no comment untill now

Add your comment now