Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Lemonldap::Cluster::Status
Perl extension for apache cluster server-status

Lemonldap::Cluster::Status - Perl extension for apache cluster server-status


NAME

Lemonldap::Cluster::Status - Perl extension for apache cluster server-status


SYNOPSIS


    use Lemonldap::Cluster::Status ;

    my $serverstatus = Lemonldap::Cluster::Status->new (

                  'ADMIN' => 'title on top of page' ,

                  'node1' => '10.ip.ip.ip',

                  'node2' => 'server1.net',

                  'foo' => 'server2.net',

                  'bar' => '10.ip.ip.ip',

                );

   $serverstatus->analyze;

   my $a=$serverstatus->PrintHtml;


DESCRIPTION

This module aggregates sereval server-status pages (from apache) in one page.

It's usefull in order to manage cluster, or for working with nagios and cacti

This version understands refresh=nb_of_second parameters like mod_status

Your servers (nodes) MUST TO BE turn on extended status mode (see apache doc)

This module may be used in sereval ways :


 1) Like a package (see bellow) 

 2) Embeded in CGI script :(see StatusCGI.pl)

 3) With modperl : (see StatusMP.pm) 

 4) Like lemonldap websso composant :(see Statuslemonldap.pm)

 ONLY last way NEEDS another Lemonldap composant . Thus this module is independent of lemonldap websso. 

 

The server-status report seems to be issu of real apache server.

 The apache server wich implements server-status summary  doesn't need to be a nodes .


METHODS

new ('ADMIN' => 'name' , 'foo' => 'bar.fr' );
The word ADMIN is REQUIRED . This method does the GET http://bar.fr/server-status (This for every nodes).

analize () ;
Does the calculation and summarizes stat.

printHtml()
return the whole html page .


StatusCGI.pl

first, puts a copy of StatusCGI.pl in your apache cgi-bin directory . next, you MUST modify the script in order to add your address servers. last, try with the url http://myserver.net/cgi-bin/StatusCGI.pl.




(you can addd  '?refresh=5' (in second) at the end of URL )


StatusPM.pm (under mod_perl)

Just add those lines in httpd.conf


 <Location /clusterstatus >

    SetHandler perl-script

    PerlHandler Lemonldap::Cluster::StatusMP

    perlsetvar ADMIN name_of_group

    perlsetvar node1 10.ip.ip.ip

    perlsetvar foo   server1.net

    perlsetvar bar   sever2.net

 </Location>

Restart httpd daemon and point on location /clusterstatus


Statuslemonldap.pm (with lemonldap::Config::Parameters)


 Add this in lemonldap_config.xml

  <cluster  id ="ADMIN" >

        <node id="node"

              address="10.ip.ip.ip" />

        <node id="other"

              address="10.ip.ip.ip" />

        <node id="last"

              address="server.net" />

  </cluster>

 Add also this in httpd.conf

 <Location /statuslemon >

  SetHandler perl-script

  PerlHandler Lemonldap::Cluster::Statuslemonldap

  perlsetvar LemonldapConfig /etc/apache-perl/lemonldap_config.xml

  perlsetvar LemonldapConfigipckey /var/cache/lemondb/CONF

 </Location>

Restart httpd daemon and point on location /statuslemon


INSTALLATION

To install this module type the following:


   perl Makefile.PL

   make

   make test

   make install


EXPORT

None by default.


SEE ALSO


 Lemonldap websso

 server-status of apache

 LWP

 Lemonldap::Cluster::StatusMP  (under mod_perl)

 Lemonldap::Cluster::StatusCGI (under CGI) 

 Lemonldap::Cluster::Statuslemonldap (embeded in lemonldap config) 

 (all files are in tarball )


AUTHOR

Eric German, <germanlinux@yahoo.fr>


COPYRIGHT AND LICENSE

Copyright (C) 2005 by Eric German, <germanlinux@yahoo.fr>


    Lemonldap originaly written by Eric German who decided to publish him in

    2003 under the terms of the GNU General Public License version 2.

    This package is under the GNU General Public License, Version 2.

    The primary copyright holder is Eric German.

    Portions are copyrighted under the same license as Perl itself.

    Portions are copyrighted by Doug MacEachern and Lincoln Stein. This

    library is under the GNU General Public License, Version 2.

    This program 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; version 2 dated June, 1991.




    This program 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.




    A copy of the GNU General Public License is available in the source tree;

    if not, write to the Free Software Foundation, Inc.,

    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.



Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy