ホスト監視
3686 ワード
ホスト監視
#
use URI::Escape;
use LWP::Simple;
use HTML::HeadParser;
use Encode qw/encode decode/;
use Time::HiRes qw(gettimeofday);
use strict;
use Switch;
#
my $cpuvale=2;
my $diskvale=700;
my $memoryvale=95;
my $iovale=800;
my $powervale=" ";
#
my $logfile="e:/amos/info.log";
#
my $var=" ";
my $title=(split($var,$ARGV[2]))[1];
#
my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime();
$year += 1900;
$mon++;
my $date = "$year-$mon-$day $hour:$min:$sec";
print $date, "
";
#
my $command="c:\windows\system32\cmd.exe /c e:\amos\mon.pl {targetName} {target} {alarmName} {triggeringSummary} {declaringSummary} {oldStatus} {newStatus}";
#
my @OP_PHONE=(15121132075,13817488875,15800329316);
#my @OP_PHONE=(15800329316);
#system("echo $ARGV[0] $ARGV[1] $ARGV[2] $ARGV[3] $ARGV[4] $ARGV[5] $ARGV[6] $ARGV[7] $date >> $logfile");
sub sendmail
{
my $val="$_[0]";
my $vale="$_[1]";
if ($val =~ /[0-9].*/) {
print "ninao
";
if ( $val > $vale ) {
#
my $msg="vcenter $ARGV[0] $title\_$vale use:$ARGV[6]
$date";
my $sendmsg=uri_escape($msg);
foreach my $phone(@OP_PHONE) {
my $msgurl="http://192.168.6.13/fetion.php?phone=$phone&msg=$sendmsg";
get("$msgurl");
#
system("echo $phone $ARGV[0] $ARGV[1] $ARGV[2] $ARGV[3] $ARGV[4] $ARGV[5] $ARGV[6] $ARGV[7] $date >> $logfile");
}
}
} else {
print "nishishui?
";
if ( $val =~ $vale ) {
#
my $msg="vcenter $ARGV[0] $title\_connect state:connected ok!
$date";
my $sendmsg=uri_escape($msg);
foreach my $phone(@OP_PHONE) {
my $msgurl="http://192.168.6.13/fetion.php?phone=$phone&msg=$sendmsg";
get("$msgurl");
#
system("echo $phone $ARGV[0] $ARGV[1] $ARGV[2] $ARGV[3] $ARGV[4] $ARGV[5] $ARGV[6] $ARGV[7] $date >> $logfile");
}
} else {
#
my $msg="vcenter $ARGV[0] $title\_connect state:connected error!
$date";
my $sendmsg=uri_escape($msg);
foreach my $phone(@OP_PHONE) {
my $msgurl="http://192.168.6.13/fetion.php?phone=$phone&msg=$sendmsg";
get("$msgurl");
#
system("echo $phone $ARGV[0] $ARGV[1] $ARGV[2] $ARGV[3] $ARGV[4] $ARGV[5] $ARGV[6] $ARGV[7] $date >> $logfile");
}
}
}
}
sub mon
{
my $string="$ARGV[6]";
my ($digit) = $string =~ /^(\d+)/;
my $val="$digit";
my $vale="${title}vale";
my $vale=eval "\$$vale";
print "$vale
";
print "$val
";
sendmail($val,$vale);
}
sub mon_power
{
my $val="$ARGV[5]";
my $vale="${title}vale";
print "$vale
";
my $vale=eval "\$$vale";
print "vale=$vale
";
print "val=$val
";
sendmail($val,$vale);
}
sub mon_all
{
if ($title=~"power") {
mon_power();
print "
it is $title";
} else {
mon();
print "
it is not power";
}
}
mon_all()