Diff for /loncom/cgi/clusterstatus.pl between versions 1.20 and 1.24

version 1.20, 2003/08/29 17:42:32 version 1.24, 2005/04/13 18:30:46
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
 $|=1;  $|=1;
 # The LearningOnline Network with CAPA  # Generates a html page showing various sataus reports about the cluster
 # Cluster Status  
 #  
 # $Id$  # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA::Configuration;  use LONCAPA::Configuration;
Line 221  sub announcement { Line 242  sub announcement {
     print &otherwindow($local,'/announcement.txt','Announcement');      print &otherwindow($local,'/announcement.txt','Announcement');
 }  }
   
   sub takeonline {
       my $local=shift;
       print &otherwindow($local,'/cgi-bin/takeonline.pl','Take online');
   }
   
   sub takeoffline {
       my $local=shift;
       print &otherwindow($local,'/cgi-bin/takeoffline.pl','Take offline');
   }
   
   sub reroute {
       my ($local,$remote)=@_;
       print &otherwindow($local,'/cgi-bin/takeoffline.pl?'.
          $hostname{$remote}.'&'.$hostdom{$local}
          ,$remote)."\n";
   }
   
   sub allreroutes {
       my $local=shift;
       &takeoffline($local);
       print ' Reroute to: <font size="1">';
       foreach my $remote (sort keys %hostname) {
    unless ($local eq $remote) {
       &reroute($local,$remote);
    }
       }
       print '</font>';
   }
   
 # ========================================================= Produce a green bar  # ========================================================= Produce a green bar
 sub bar {  sub bar {
     my $parm=shift;      my $parm=shift;
Line 253  ENDHEADER Line 303  ENDHEADER
  print ("<tr><td bgcolor='#DDBBBB'><font color='#552222' size='+2'>$trouble</font></td></tr>");   print ("<tr><td bgcolor='#DDBBBB'><font color='#552222' size='+2'>$trouble</font></td></tr>");
     }      }
     print "<tr><td bgcolor='#BBBBBB'>";      print "<tr><td bgcolor='#BBBBBB'>";
   # re-routing
       if ($host{$local.'_reroute'}) {
    print "<br />Reroute: ".$host{$local.'_reroute'};
    &takeonline($local);
       }
 # version  # version
     if ($host{$local.'_version'}) {      if ($host{$local.'_version'}) {
  print "<br />Version: ".$host{$local.'_version'}   print "<br />Version: ".$host{$local.'_version'}
Line 287  ENDHEADER Line 342  ENDHEADER
     if ($host{$local.'_errors'}) {      if ($host{$local.'_errors'}) {
  print "<br />loncron errors: ".$host{$local.'_errors'};   print "<br />loncron errors: ".$host{$local.'_errors'};
     }      }
       print "</td></tr><tr><td bgcolor='#DDDDDD'>";
       &allreroutes($local);
     print "</td></tr></table><br />";      print "</td></tr></table><br />";
 }  }
   
Line 372  foreach my $local (sort keys %hostname) Line 429  foreach my $local (sort keys %hostname)
  }   }
  $host{$local.'_load'}=$userstatus{'loadavg'};   $host{$local.'_load'}=$userstatus{'loadavg'};
     }      }
   # -- Check reroute status
       &statuslist($local,'Reroute');
       my %reroute=&replyhash($local,'/lon-status/reroute.txt',1800);
       if ($reroute{'status'} eq 'rerouting') {
    if ($reroute{'server'}) {
       $host{$local.'_reroute'}=
    'Rerouting to <tt>'.$reroute{'server'}.
                      '</tt>, domain: '.$reroute{'domain'}.
    ' (since '.localtime($reroute{'time'}).')';
    } else {
       $host{$local.'_reroute'}='offline';
    }
       }
 # -- Check mysql status  # -- Check mysql status
     &statuslist($local,'Database');      &statuslist($local,'Database');
     my %mysql=&replyhash($local,'/lon-status/mysql.txt',3600);      my %mysql=&replyhash($local,'/lon-status/mysql.txt',3600);
Line 540  sub reports { Line 610  sub reports {
     }      }
     if ($host{$local.'_errors'}) {      if ($host{$local.'_errors'}) {
  $trouble='Has loncron errors.<br />';   $trouble='Has loncron errors.<br />';
     } elsif ($host{$local.'_loncron_doomed'}>600) {      } elsif ($host{$local.'_loncron_doomed'}>2500) {
  $trouble='High loncron count.<br />';   $trouble='High loncron count.<br />';
     }      }
     if ($host{$local.'_load_doomed'}>5) {      if ($host{$local.'_load_doomed'}>5) {
Line 555  sub reports { Line 625  sub reports {
     if ($host{$local.'_checkrpms_doomed'}>100) {      if ($host{$local.'_checkrpms_doomed'}>100) {
  $trouble='RPMs outdated.<br />';   $trouble='RPMs outdated.<br />';
     }      }
       if ($host{$local.'_reroute'}) {
    $trouble='Rerouting<br >';
       }
     if ($trouble) { $count++; &serverstatus($local,$trouble); }      if ($trouble) { $count++; &serverstatus($local,$trouble); }
  }   }
  unless ($count) { print "No mayor trouble."; }   unless ($count) { print "No mayor trouble."; }

Removed from v.1.20  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>