Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: [OT] Server Monitoring

by zentara (Archbishop)
on May 31, 2005 at 16:34 UTC ( #462112=note: print w/replies, xml ) Need Help??


in reply to [OT] Server Monitoring

You have 2 monitoring options, one is a daemon which tests the existence of the server's process. Like intelli-monitor.pl.

Here is something I did a while back in a similar vein, maybe it will give you some ideas. Maybe a 2 pronged approach, a daemon and an lwp script to test if the apache is locked up, or overloaded.

#!/usr/bin/perl -w #just run it. The first time it starts the daemon. If you try to start + it #a second time, it gives an error msg. Run it with any commandline arg +ument, # like "k" will kill all instances of the script use strict; use IO::Handle; use Proc::ProcessTable; use Proc::Daemon; my $t1 = new Proc::ProcessTable; my @pids; my $pid; foreach my $p (@{$t1->table}){ if($p->cmndline =~ /apache-monitor/){ $pid = $p->pid; #print "$pid\n"; push(@pids,$pid); #unless $pid == $$; } } ################################################### if (exists $ARGV[0]) { foreach $pid (@pids){ print "killing pid $pid\n"; kill 9,$pid; } } #################################################### if ($#pids > 0) { print "@pids already running!\n"; exit; } #################################################### Proc::Daemon::Init; #open(LOG,">>/var/log/apache-monitor.log") or die $!; #when run as roo +t open(LOG,">>/tmp/apache-monitor.log") or die $!; #for testing while (1){ my $ok =0; my $t = new Proc::ProcessTable; foreach my $p (@{$t->table}){ if($p->cmndline =~ /\/usr\/sbin\/httpd/){ print LOG time(),' ',$p->cmndline," already running!\n"; $ok=1;last; } } if ($ok == 0) {print LOG time(),' ',"failed!\n";} LOG->flush; sleep(15); }

I'm not really a human, but I play one on earth. flash japh

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://462112]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2021-10-22 04:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My first memorable Perl project was:







    Results (85 votes). Check out past polls.

    Notices?