Merge pull request #281 from mrqwer88/fix_in_log_file_recommandations

Fix in log file recommandations
This commit is contained in:
Jean-Marie Renouard 2016-12-07 15:18:49 +01:00 committed by GitHub
commit 7082cbc678

View file

@ -1106,71 +1106,79 @@ sub get_basic_passwords {
sub log_file_recommandations { sub log_file_recommandations {
subheaderprint "Log file Recommendations"; subheaderprint "Log file Recommendations";
infoprint "Log file: " . $myvar{'log_error'}. "(".hr_bytes_rnd((stat $myvar{'log_error'})[7]).")"; infoprint "Log file: " . $myvar{'log_error'}. "(".hr_bytes_rnd((stat $myvar{'log_error'})[7]).")";
if (-f "$myvar{'log_error'}") { if ( -f "$myvar{'log_error'}" ) {
goodprint "Log file $myvar{'log_error'} exists"; goodprint "Log file $myvar{'log_error'} exists";
} else { } else {
badprint "Log file $myvar{'log_error'} doesn't exist"; badprint "Log file $myvar{'log_error'} doesn't exist";
} }
if (-r "$myvar{'log_error'}") { if ( -r "$myvar{'log_error'}" ) {
goodprint "Log file $myvar{'log_error'} is readable."; goodprint "Log file $myvar{'log_error'} is readable.";
} else { } else {
badprint "Log file $myvar{'log_error'} isn't readable."; badprint "Log file $myvar{'log_error'} isn't readable.";
return; return;
} }
if ( (stat $myvar{'log_error'})[7] > 0) { if ( (stat $myvar{'log_error'})[7] > 0 ) {
goodprint "Log file $myvar{'log_error'} is not empty"; goodprint "Log file $myvar{'log_error'} is not empty";
} else { } else {
badprint "Log file $myvar{'log_error'} is empty"; badprint "Log file $myvar{'log_error'} is empty";
} }
if ( (stat $myvar{'log_error'})[7] < 32*1024*1024) { if ( (stat $myvar{'log_error'})[7] < 32*1024*1024 ) {
goodprint "Log file $myvar{'log_error'} is smaller than 32 Mb"; goodprint "Log file $myvar{'log_error'} is smaller than 32 Mb";
} else { } else {
badprint "Log file $myvar{'log_error'} is bigger than 32 Mb"; badprint "Log file $myvar{'log_error'} is bigger than 32 Mb";
push( @generalrec, push @generalrec,
$myvar{'log_error'} ."is > 32Mb, you should analyze why or implement a rotation log strategy such as logrotate!" ); $myvar{'log_error'} ."is > 32Mb, you should analyze why or implement a rotation log strategy such as logrotate!" ;
} }
my @log_content=get_file_contents($myvar{'log_error'}); my @log_content = get_file_contents($myvar{'log_error'});
my $numLi=0; my $numLi = 0;
my $nbWarnLog=0; my $nbWarnLog = 0;
my $nbErrLog=0; my $nbErrLog = 0;
my @lastShutdowns; my @lastShutdowns;
my @lastStarts; my @lastStarts;
foreach my $logLi(@log_content) { foreach my $logLi ( @log_content ) {
$numLi++; $numLi++;
debugprint "$numLi: $logLi" if $logLi =~ /warning|error/i; debugprint "$numLi: $logLi" if $logLi =~ /warning|error/i;
$nbErrLog++ if $logLi =~ /error/i; $nbErrLog++ if $logLi =~ /error/i;
$nbWarnLog++ if $logLi =~ /warning/i; $nbWarnLog++ if $logLi =~ /warning/i;
push @lastShutdowns, $logLi if $logLi =~ /Shutdown complete/ and $logLi !~ /Innodb/i; push @lastShutdowns, $logLi if $logLi =~ /Shutdown complete/ and $logLi !~ /Innodb/i;
push @lastStarts, $logLi if $logLi =~ /ready for connections/; push @lastStarts, $logLi if $logLi =~ /ready for connections/;
} }
if ($nbWarnLog > 0) { if ( $nbWarnLog > 0 ) {
badprint "$myvar{'log_error'} contains $nbWarnLog warning(s)."; badprint "$myvar{'log_error'} contains $nbWarnLog warning(s).";
push( @generalrec, "Control warning line(s) into $myvar{'log_error'} file"); push @generalrec, "Control warning line(s) into $myvar{'log_error'} file";
} else { } else {
goodprint "$myvar{'log_error'} doesn't contain any warning."; goodprint "$myvar{'log_error'} doesn't contain any warning.";
} }
if ($nbErrLog > 0) { if ( $nbErrLog > 0 ) {
badprint "$myvar{'log_error'} contains $nbErrLog error(s)."; badprint "$myvar{'log_error'} contains $nbErrLog error(s).";
push( @generalrec, "Control error line(s) into $myvar{'log_error'} file"); push @generalrec, "Control error line(s) into $myvar{'log_error'} file";
} else { } else {
goodprint "$myvar{'log_error'} doesn't contain any error."; goodprint "$myvar{'log_error'} doesn't contain any error.";
} }
infoprint scalar(@lastStarts). " start(s) detected in $myvar{'log_error'}"; infoprint scalar @lastStarts . " start(s) detected in $myvar{'log_error'}";
my $nStart=0; my $nStart = 0;
for my $startd (reverse @lastStarts[-10..-1]) { my $nEnd = 10;
$nStart++; if ( scalar @lastStarts < $nEnd ) {
infoprint "$nStart) $startd"; $nEnd = scalar @lastStarts;
} }
infoprint scalar(@lastShutdowns). " shutdown(s) detected in $myvar{'log_error'}"; for my $startd ( reverse @lastStarts[-$nEnd..-1] ) {
my $nShut=0; $nStart++;
for my $shutd (reverse @lastShutdowns[-10..-1]) { infoprint "$nStart) $startd";
$nShut++; }
infoprint "$nShut) $shutd"; infoprint scalar @lastShutdowns . " shutdown(s) detected in $myvar{'log_error'}";
} $nStart=0;
$nEnd=10;
if ( scalar @lastShutdowns < $nEnd ) {
$nEnd = scalar @lastShutdowns;
}
for my $shutd ( reverse @lastShutdowns[-$nEnd..-1] ) {
$nStart++;
infoprint "$nStart) $shutd";
}
#exit 0; #exit 0;
} }