• zabbix邮件告警之 通过shell脚本发送告警


    说明:
    本文讲如何通过shell脚本实现zabbix发送告警邮件,共有5步
    1.设置mailx账号:是配置mailx的发信账号
    2.zabbix服务器端编写邮件发送脚本:是增加zabbix的告警方式,增加通过sendmail.sh脚本方式调用mailx工具
    3.zabbix后台配置shell邮件告警方式:是配置zabbix的告警方式,通过邮箱、短信、还是脚本方式等
    4.配置用户的邮箱地址:是配置谁来接收告警邮件
    5.定义action:是达到触发条件时,谁接收告警邮件、通过怎样的告警方式

    所以如果有问题的话,只需要按照上面那样一步一步查询下来即可!

    具体:
    一、设置mailx账号,linux可以通过自带的mail实现发送外部smtp邮件,更具体的可以参考“linux使用mail发送外部smtp邮件
    1. 设置mailx账号,建议用163的邮箱。如果换成QQ邮箱会出现无法发送,估计是QQ邮箱哪里做了限制

    # cp /etc/mail.rc /etc/mailrc.bak.20150307
    # cat /etc/mail.rc  //内容如下
    set from=123456@163.com
    set smtp=smtp.163.com
    set smtp-auth-user=123456
    set smtp-auth-password=123456
    set smtp-auth=login

     
    2.测试发送邮件,看654321@coolnull.com有收到来自123456@163.com的邮件嘛

    # echo  hello word | mail -s " title" 654321@coolnull.com

     
    二、zabbix服务器端编写邮件发送脚本
    1.修改zabbix_server.conf配置文件,指定zabbix

    # vim /usr/local/zabbix/etc/zabbix_server.conf  //修改alert scripts为以下路径
    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

     
    2.创建邮件发送脚本

    # vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh  //以下为脚本内容
    #!/bin/bash
    # use mailx to send mail
    # 20141127 carl 1st
    # PATH
    
    # echo "$3" | mail -s "$2" "$1"

     
    3. 更改属主及赋予可执行权限

    # chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
    # chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

     
    4. 测试邮件发送脚本

    # /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 654321@coolnull.com "测试邮件标题" "测试邮件内容"

     
    三、zabbix后台配置shell邮件告警方式
    Administration|Media types,进入告警方式配置界面,创建sendmail.sh告警方式,如下图
    z1
    name随便写这里就写sendmail.sh;type选择scripts;Script name则输入上一步编写的脚本名称,即sendmail.sh

    四、配置用户的邮箱地址
    Administration|Users,进入用户配置界面,在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:
    z2
    type选择刚刚上步创建的sendmail.sh;sendto则是要接收告警的邮件地址

    五、定义action
    Configuration|Action,Event source选择triggers,我这边是修改已有的Actions,具体如下
    z3
    send to users选择admin用户(上一步刚定义了admin的邮件地址);send only to 则只选sendmail.sh告警方式。

  • 相关阅读:
    windows 安装 ELK(Elasticsearch,Logstash,kibana)
    NSSM 将程序封装成服务软件
    面试-双向链表
    mySql 事务,游标以及循环
    SQL 事务
    C# Windows 服务
    MVC 中ajax 调用Webservice 或WCF 问题
    js prototype
    计算一个数等于其它数相加的所有可能 如: 5 =1+4 ,1+3+1,2+3,2+2+1,1+1+1+1+1,1+1+1+2
    冒泡排序,选择排序,快速排序
  • 原文地址:https://www.cnblogs.com/wajika/p/6554451.html
Copyright © 2020-2023  润新知