需求:写一个监控脚本,client监控应用程序的日志,有异常插入数据到DB,server轮询DB,发现需要发送的告警的,发送邮件给相关人。其中server端的的告警类型,发送对象都是可以配置的。
需求:
写一个监控脚本,client监控应用程序的日志,有异常插入数据到DB,server轮询DB,发现需要发送的告警的,发送邮件给相关人。
其中server端的的告警类型,发送对象都是可以配置的。
测试了2个模块,监控日志文件和mail发送,特此分享perl发送mail的脚本,供大家学习参考。
需要安装了二个module:
MIME::Base64 --这个可以不装;
Mail::Sender
debug打开日志还是比较重要。用变量时,邮箱地址的@,需要转义下。
复制代码 代码如下:
#!/usr/bin/perl
use Mail::Sender;
my $text=aaaaaaa;
my $mailto="zhou_xinwei@vobile.cn,zhou_xinwei@vobile.cn,jiang_changlin@vobile.cn";
open my $DEBUG, ">> /tmp/mail.log" or die "Can't open the debug file: $!n";
my $sender = new Mail::Sender {
smtp => 'mail.vobile.cn',
from => [email='ops_report@vobile.cn']%27ops_report@vobile.cn%27[/email],
on_errors => undef,
client=>'hz-151.vobile.cn',
debug => $DEBUG
} or die "Can't create the Mail::Sender object: $Mail::Sender::Errorn";
$sender->MailMsg({
to =>$mailto,
subject => "mail test do not replay",
msg => $text,
debug=>$DEBUG}) or print $Mail::Sender::Error;
$sender ->Close();