[Date Prev]   [Date Next] [Thread Prev]   [Thread Next] [Date Index]   [Thread Index]

 

     Re: [snips-users] Paging problem

How do you send email.. write a wrapper around sendmail to compose a
message and send.  Below is my version of beep-oncall.  It has both
a sendmail and sendpage routine.  My version of sendpage twiddles
the $PAGETO variable and writes to qpage directly.  Email usually puts
a lot of extra into the page..  pager companies usually sell contracts
that specify the maximum message size, so I go direct.


Tim Peiffer

#!/usr/bin/perl
#
# THIS IS JUST A SAMPLE SCRIPT. Modify before using.
#
# Pipe the output of snipslogd into this script and send yourself email or
# whatever else is required to send a page to yourself.
#
# sample log line:
#
#  Sun Jul 26 01:37:03 1998 [ippingmon]: \
#       DEVICE rabbinical-FR-p 206.137.132.146 VAR ICMP-ping 0 3 Pkts \
#       LEVEL Critical LOGLEVEL Critical NOCOP down
#
#       -vikas at navya com
#
$PAGETO = "6125551212\ at snpp metrocall.com";

#$PAGETO = "peiffer\ at mutley mn.org" ;
$PAGEPROG = "/usr/bin/mail";    # or mail

if ($#ARGV >= 0) { $PAGETO = $ARGV[0]; }

while (<STDIN>)
{

if(/.+\[(\S+)\]:\s+SITE|DEVICE\s+(\S+.+)\s+LEVEL\s+(\S+)\s+LOGLEVEL\s+(\S+)\s+.+
$/)
  {
    # print "Sender=$1, Device=$2, Level=$3, Loglevel=$4
    next if ($3 =~ /Info/);
    &sendpage($1,$2,$3,$4,$PAGETO);
  }
}

exit 0;


sub sendpage {
  my($sender,$device,$level,$loglevel,$pageto) = @_;
  my($id,$snppgw) = split(/\@/, $pageto);

open(SENDPAGE, "| /usr/local/bin/qpage -l 0 -f snips\ at mutley mn.org -m -p $id
-s $snppgw");
printf SENDPAGE <<EOF;
>From snips\ at mutley mn.org
To: $pageto
From: snips\ at mutley mn.org

SNIPS monitor detects $sender $device $level $loglevel
EOF
close(SENDPAGE);

}


sub sendmail {
  my($sender,$device,$level,$loglevel,$pageto) = @_;

open(SENDMAIL, "| /usr/sbin/sendmail -fsnips $pageto");
printf SENDMAIL <<EOF;
To: $pageto
From: snips
Subject: $sender $device $level, $loglevel

SNIPS monitor detects $sender $device $level $loglevel
EOF
close(SENDMAIL);

}


Zyrion Traverse Network Monitoring & Network Management Software