• logstash 调用脚本告警


    Vsftp:/root# cat /bin/smail.pl 
    #!/usr/bin/perl 
    use Net::SMTP;
       use HTTP::Date qw(time2iso str2time time2iso time2isoz);  
    use Data::Dumper;
    # mail_user should be your_mail@163.com
    
        $message= "@ARGV";
    	sub send_mail{
    my $CurrTime = time2iso(time());
        my $to_address  = shift;
        my $mail_user   = 'zhao.yangjian@163.com';
        my $mail_pwd    = 'zhxx4';
        my $mail_server = 'smtp.163.com';
    
        my $from    = "From: $mail_user
    ";
        my $subject = "Subject: zjcap info
    ";
        my $info = "$CurrTime--$message";
         my $message = <<CONTENT; 
         $info
    CONTENT
        my $smtp = Net::SMTP->new($mail_server);
    
        $smtp->auth($mail_user, $mail_pwd) || die "Auth Error! $!";
        $smtp->mail($mail_user);
        $smtp->to($to_address);
    
        $smtp->data();             # begin the data
        $smtp->datasend($from);    # set user
        $smtp->datasend($subject); # set subject
        $smtp->datasend("
    
    ");
        $smtp->datasend("$message
    "); # set content
        $smtp->dataend();
        $smtp->quit();
    };
    
    
    send_mail ('zhao.yangjian@163.com');
    ; 
    
    
    [elk@Vsftp logstash]$ cat t3.conf 
    input {
            stdin {
            }
         
    }  
    filter {
        grok {
            match => [ "message","(?m)s*%{TIMESTAMP_ISO8601:time}s*(?<Level>(S+)).*"]
         }
         date {
            match => ["time", "yyyy-MM-dd HH:mm:ss,SSS"]
        }
       mutate {
                           add_field =>["messager","%{type}-%{message}"]
                           remove_field =>["message"]
                    }
    }  
    output {  
        if ([Level]  == "ERROR" or [messager] =~ "Exception" ) and [messager] !~ "温金服务未连接" and  [messager] !~ "调用温金代理系统接口错误" and [messager] !~ "BusinessException"  {
           exec {
             command  =>  "/bin/smail.pl "%{messager}" "
        }
       }
       stdout {  
       codec =>rubydebug  
       }  
    }
    
    
    [elk@Vsftp logstash]$ logstash -f t3.conf 
    Settings: Default pipeline workers: 4
    Pipeline main started
    2015-05-14 10:19:19,972  ERROR  aaa
    
    {
           "message" => "2015-05-14 10:19:19,972  ERROR  aaa",
          "@version" => "1",
        "@timestamp" => "2015-05-14T02:19:19.972Z",
              "host" => "Vsftp",
              "time" => "2015-05-14 10:19:19,972",
             "Level" => "ERROR"
    }
    
    
    2015-05-14 10:19:19,972 aaa Exception
    
    {
           "message" => "2015-05-14 10:19:19,972 aaa Exception",
          "@version" => "1",
        "@timestamp" => "2015-05-14T02:19:19.972Z",
              "host" => "Vsftp",
              "time" => "2015-05-14 10:19:19,972",
             "Level" => "aaa"
    }

  • 相关阅读:
    前端框架-Bootstrap【搭建后台管理系统】
    前端-jQuery
    前端-js基础语法-DOM
    前端-js基础语法
    前端-html标签
    python学习并发编程
    python学习网络编程
    python爬虫学习:第一爬_快眼看书排行榜
    python总结:模块汇总
    python学习_解释器接口模块:sys
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349928.html
Copyright © 2020-2023  润新知