--- loncom/loncron 2000/02/08 17:34:24 1.3 +++ loncom/loncron 2000/12/08 23:17:26 1.10 @@ -153,7 +153,7 @@ close (LOADAVGH); print $fh "$loadavg"; @parts=split(/\s+/,$loadavg); -if ($parts[1]>3.0) { +if ($parts[1]>4.0) { $errors++; } elsif ($parts[1]>2.0) { $warnings++; @@ -171,13 +171,13 @@ while ($line=) { $usage=$parts[4]; $usage=~s/\W//g; if ($usage>90) { - $errors++; + $warnings++; } elsif ($usage>80) { $warnings++; } elsif ($usage>60) { $notices++; } - if ($usage>95) { $errors++; } + if ($usage>95) { $warnings++; $warnings++ } } close (DFH); print $fh ""; @@ -200,6 +200,91 @@ while ($line=) { close (DFH); print $fh ""; &errout($fh); + + +# ------------------------------------------------------------------------ lonsql + +if ($perlvar{'lonRole'} eq "library" && 1==0) { + + print $fh '

lonsql

Log

';
+    
+    if (-e "$perlvar{'lonDaemons'}/logs/lonsql.log"){
+	open (DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/lonsql.log|");
+	while ($line=) { 
+	    print $fh "$line";
+	    if ($line=~/INFO/) { $notices++; }
+	    if ($line=~/WARNING/) { $notices++; }
+	    if ($line=~/CRITICAL/) { $warnings++; }
+	};
+	close (DFH);
+    }
+    print $fh "
"; + + my $lonsqlfile="$perlvar{'lonDaemons'}/logs/lonsql.pid"; + + if (-e $lonsqlfile) { + my $lfh=IO::File->new("$lonsqlfile"); + my $lonsqlpid=<$lfh>; + chomp($lonsqlpid); + if (kill 0 => $lonsqlpid) { + print $fh "

lonsql at pid $lonsqlpid responding

"; + } else { + $errors++; $errors++; + print $fh "

lonsql at pid $lonsqlpid not responding

"; + } + } else { + $errors++; + print $fh "

lonsql not running, trying to start

"; + system("$perlvar{'lonDaemons'}/lonsql"); + sleep 120; + if (-e $lonsqlfile) { + print $fh "Seems like it started ...

"; + my $lfh=IO::File->new("$lonsqlfile"); + my $lonsqlpid=<$lfh>; + chomp($lonsqlpid); + sleep 30; + if (kill 0 => $lonsqlpid) { + print $fh "

lonsql at pid $lonsqlpid responding

"; + } else { + $errors++; $errors++; + print $fh "

lonsql at pid $lonsqlpid not responding

"; + print $fh "Give it one more try ...

"; + system("$perlvar{'lonDaemons'}/lonsql"); + sleep 120; + } + } else { + print $fh "Seems like that did not work!

"; + $errors++; + } + if (-e "$perlvar{'lonDaemons'}/logs/lonsql.log"){ + print $fh "

";
+	    open (DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/lonsql.log|");
+	    while ($line=) { 
+		print $fh "$line";
+		if ($line=~/WARNING/) { $notices++; }
+		if ($line=~/CRITICAL/) { $notices++; }
+	    };
+	    close (DFH);
+	    print $fh "
"; + } + } + + $fname="$perlvar{'lonDaemons'}/logs/lonsql.log"; + + my ($dev,$ino,$mode,$nlink, + $uid,$gid,$rdev,$size, + $atime,$mtime,$ctime, + $blksize,$blocks)=stat($fname); + + if ($size>40000) { + print $fh "Rotating logs ...

"; + rename("$fname.2","$fname.3"); + rename("$fname.1","$fname.2"); + rename("$fname","$fname.1"); + } + + &errout($fh); +} # ------------------------------------------------------------------------ lond print $fh '


lond

Log

';
@@ -209,8 +294,8 @@ open (DFH,"tail -n100 $perlvar{'lonDaemo
 while ($line=) { 
    print $fh "$line";
    if ($line=~/INFO/) { $notices++; }
-   if ($line=~/WARNING/) { $warnings++; }
-   if ($line=~/CRITICAL/) { $errors++; }
+   if ($line=~/WARNING/) { $notices++; }
+   if ($line=~/CRITICAL/) { $warnings++; }
 };
 close (DFH);
 }
@@ -218,17 +303,37 @@ print $fh "
"; my $londfile="$perlvar{'lonDaemons'}/logs/lond.pid"; -if (-e $londfile) { +my $restartflag=1; +if (-e $londfile) { my $lfh=IO::File->new("$londfile"); my $londpid=<$lfh>; chomp($londpid); if (kill 0 => $londpid) { print $fh "

lond at pid $londpid responding

"; + $restartflag=0; } else { - $errors++; $errors++; + $errors++; print $fh "

lond at pid $londpid not responding

"; + # Intelligently handle this. + # Possibility #1: there is no process + # Solution: remove .pid file and restart + if (getpgrp($londpid)==-1) { + unlink($londfile); + $restartflag=1; + } + else { + # Possibility #2: there is a live process that is not responding + # for an unknown reason + # Solution: kill parent and children processes, remove .pid and restart + `killall -9 lond`; + unlink($londfile); + $restartflag=1; + } + print $fh + "

Deciding to clean up stale .pid file and restart lond

"; } -} else { +} +if ($restartflag==1) { $errors++; print $fh "

lond not running, trying to start

"; system("$perlvar{'lonDaemons'}/lond"); @@ -257,9 +362,8 @@ if (-e $londfile) { open (DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/lond.log|"); while ($line=) { print $fh "$line"; - if ($line=~/INFO/) { $notices++; } - if ($line=~/WARNING/) { $warnings++; } - if ($line=~/CRITICAL/) { $errors++; } + if ($line=~/WARNING/) { $notices++; } + if ($line=~/CRITICAL/) { $notices++; } }; close (DFH); print $fh ""; @@ -290,8 +394,8 @@ open (DFH,"tail -n100 $perlvar{'lonDaemo while ($line=) { print $fh "$line"; if ($line=~/INFO/) { $notices++; } - if ($line=~/WARNING/) { $warnings++; } - if ($line=~/CRITICAL/) { $errors++; } + if ($line=~/WARNING/) { $notices++; } + if ($line=~/CRITICAL/) { $warnings++; } }; close (DFH); } @@ -299,6 +403,7 @@ print $fh ""; my $loncfile="$perlvar{'lonDaemons'}/logs/lonc.pid"; +$restartflag=1; if (-e $loncfile) { my $lfh=IO::File->new("$loncfile"); my $loncpid=<$lfh>; @@ -306,11 +411,30 @@ if (-e $loncfile) { if (kill 0 => $loncpid) { print $fh "

lonc at pid $loncpid responding, sending USR1

"; kill USR1 => $loncpid; + $restartflag=0; } else { - $errors++; $errors++; + $errors++; print $fh "

lonc at pid $loncpid not responding

"; + # Intelligently handle this. + # Possibility #1: there is no process + # Solution: remove .pid file and restart + if (getpgrp($loncpid)==-1) { + unlink($loncfile); + $restartflag=1; + } + else { + # Possibility #2: there is a live process that is not responding + # for an unknown reason + # Solution: kill parent and children processes, remove .pid and restart + `killall -9 lonc`; + unlink($loncfile); + $restartflag=1; + } + print $fh + "

Deciding to clean up stale .pid file and restart lonc

"; } -} else { +} +if ($restartflag==1) { $errors++; print $fh "

lonc not running, trying to start

"; system("$perlvar{'lonDaemons'}/lonc"); @@ -339,9 +463,8 @@ if (-e $loncfile) { open (DFH,"tail -n100 $perlvar{'lonDaemons'}/logs/lonc.log|"); while ($line=) { print $fh "$line"; - if ($line=~/INFO/) { $notices++; } - if ($line=~/WARNING/) { $warnings++; } - if ($line=~/CRITICAL/) { $errors++; } + if ($line=~/WARNING/) { $notices++; } + if ($line=~/CRITICAL/) { $notices++; } }; close (DFH); print $fh ""; 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.