zoukankan      html  css  js  c++  java
  • zabbix3.0.9邮件告警

    一、先安装设置mailx发送邮件的账号

    yum -y install mailx

    ln -s /bin/mailx /bin/mail

    配置发送帐号 密码

    cat /etc/mail.rc  //内容如下
    set from=123456@126.com
    set smtp=smtp.126.com
    set smtp-auth-user=123456@126.com
    set smtp-auth-password=123456
    set smtp-auth=login

     发送邮件测试;测试是否能正常发送邮件。

    echo  test | mail -s " test"   136×××@126.com
     
     
    查看zabbix服务器发送脚本配置
    进入zabbix的安装目录
    [root@localhost ~]# cd /usr/local/zabbix/etc/
     
    vim zabbix_server.conf

    找到AlertScriptsPath选项,可以自定义位置;新增自定义的脚本位置 增加 AlertScriptsPath=/usr/local/zabbix/alertscripts

    如图

    ### Option: AlertScriptsPath
    #       Full path to location of custom alert scripts.
    #       Default depends on compilation options.
    #
    # Mandatory: no
    # Default:
    # AlertScriptsPath=${datadir}/zabbix/alertscripts
    AlertScriptsPath=/usr/local/zabbix/alertscripts
    

    编写自定义发送邮件的脚本:

    mkdir /usr/local/zabbix/alertscripts/

    cd /usr/local/zabbix/alertscripts/

    vim sendEmail.sh

    脚本的内容如下:

    #!/bin/bash
    #zabbix邮件告警脚本
    #auth:zhangyong
    #time:2017-03-21
    #Version:V1.0
    
    mail=$1
    title=$2
    message=$3
    
    echo "${message}" | /usr/bin/iconv -t GB2312 -f UTF-8 | mailx -s "${title}" ${mail} >> /tmp/mailx.log 2>&1
    
    exit $?
    

    测试邮件

    [root@localhost etc]# /usr/local/zabbix/alertscripts/sendmail.sh zhangyong@dozengame.com "测试邮件标题" "测试邮件内容"

    zabbix 页面配置

     进入zabbix web配置页面。 管理---报警媒介类型

    点击右上角 新增一个报警类型 sedMail

    sedMail的内容如下图;下面的三个参数一定要加上去。 点击添加-然后单击框内能显示 脚本参数 让你选择。

    解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。 那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
    在2.x版本不存在这个问题,默认会传3个参数。

    点击管理--用户  新增一个用户

    添加报警媒介  类型选择刚才的 sendmail;填写用户收件箱,接收邮件的时间。

    如下图  一定要选刚才定义好的报警类型,要不然邮件发送不出去。

     权限 全部都添加

     配置邮件发送的动作。

    点击配置---动作。新增 或者修改原来的

     

    修改默认信息为发送中文

     

     修改动作 发送的内容为中文 默认与恢复一样

    告警主机:{HOSTNAME1}
    
    告警时间:{EVENT.DATE} {EVENT.TIME}
    
    告警等级:{TRIGGER.SEVERITY}
    
    告警信息: {TRIGGER.NAME}
    
    告警项目:{TRIGGER.KEY1}
    
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
    
    事件ID:{EVENT.ID}
    
    点击操作 指定发送的用户;还有报警媒介。如下图:

    解释:
    默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。

    后面的1表示你要发送多少封邮件。

    假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送

    间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
    如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。

    点击报表->动作日志 可以看到触发动作的次数。只会有3次,除非test主机状态改变,也就是正常的时候,会触发一次,否则不会再触发。

    到此邮件发送报警配置完毕;可以去被监控的主机stop 掉 zabbix_agnd 测试。

    # 在机房的服务器上部署了一套 zabbix;配置各种都没有问题。邮件在命令行下也能测试发送;但是zabbix 告警的邮件硬是收不到。

    折腾了一天;发现了一篇博客文章,按此设置又可以。

    http://blog.csdn.net/fgf00/article/details/50583256 

     
  • 相关阅读:
    AngularJS中service,factory,provider的区别
    AngularJs数据绑定原理
    H5项目常见问题及注意事项
    本地存储-localStroage/sessionStorage存储
    微信小程序 获取OpenId
    Nginx 常用命令
    Redis 分布式锁 解决集群环境下多次定时任务执行
    Spring Boot 动态修改 Scheduled (系统启动默认执行,动态修改)
    SpringBoot 部署war包
    Docker + Tomcat 实现 Springboot 项目增量升级
  • 原文地址:https://www.cnblogs.com/zyos/p/6863118.html
Copyright © 2011-2022 走看看