zabbix监控邮件报警功能二次开发

效果图查看,Action模板级一些其他介绍请查看链接http://blog.csdn.net/jackm1688/article/details/50907607

本次代码属于更新

配置报警媒介目录:AlertScriptsPath=/wls/zabbix/alertscripts (at zabbix_server.conf confiuration file)
脚本位置:/wls/zabbix/alertscripts/zabbixAlertMail.pl
模块目录:/usr/local/perl5/lib/
模块名称:alertTools.pm
权限:所有相关目录及脚本赋777权限

模块名:alertTools.pm

#!/usr/local/perl5/bin/perl5.22.1
package alertTools;
use strict;
use warnings;

#####################################################
#                                                   #
# @作者:老孟                                        #
# @功能:监控邮件报警工具                            #
# @日期:2016-06-20                                  #
# @Copyright (c) 2016  All rights reserved.         #
#                                                   #
#####################################################

###############加载相关模块##########################
use Encode;
use MIME::Base64;
use MIME::Lite;
use File::Find;
use POSIX qw(strftime);
use File::Temp qw/ tempfile tempdir/;
#####################################################

#构造函数
sub new
{
   
    my $class = shift;
    my($logdir,$imgdir) = @_;
    my $data = {
                  'logdir'=> $logdir,
                  'imgdir' => $imgdir
               };
    bless($data,$class);
    return $data;
}


#告警邮件内容转换成html代码
sub contentToHtml
{
   
    my $this = shift;
    my($mailContent,$imge) = @_;
    my @htmlContent;
    push @htmlContent,"
         <html>
         <head>
         <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
         </haed>
         <body>
         <style>table{font-size:14px;}</style>
         <div align=\"center\">
         <font color=\"#525252\">
         <table border='0' style=\"border:5px solid #F2F2F2;\" cellspacing=\"2\" cellpadding=\"2\" width=\"900\"  >
         <tr bgcolor=\"#D1D1D1\">
         <th align=\"left\" style=\"font-size:23px;\">告警信息</marquee></th>
         </tr> ";

     my @htmls;
     my @string;
     foreach (@$mailContent)
     {
         push @htmls,"$1" if(/(告警项名.*)/);
         push @htmls,"$1" if(/(告警主机.*)/);
         push @htmls,"$1" if(/(告警IP.*)/);
         push @htmls,"$1" if(/(告警项Key值.*)/);
         push @htmls,"$1" if(/(告警触发规则.*)/);
         push @htmls,"$1" if(/(告警时间.*)/);
         push @htmls,"$1" if(/(告警等级.*)/);
         if(/(问题描述)/ .. eof)
         {
             chomp;
             push @string, "$_ <br \/>\n";
         }
         push @htmls,"$1" if(/(告警值\:.*)/);
         push @htmls,"$1" 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值