设为首页 收藏本站
查看: 1535|回复: 0

[经验分享] zabbix3.4实现sendEmail邮件报警

[复制链接]

尚未签到

发表于 2017-12-31 21:32:59 | 显示全部楼层 |阅读模式
  sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
  perl和web站点使用。
  请注意,不是sendmail。我第一次看到这个名字,直接yum install -y sendmail了
  然后下面就蒙圈了。
  下载软件
  wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
  创建目录
  mkdir /usr/local/bin
  解压软件
  tar zxf sendEmail-v1.56.tar.gz -C /usr/src
  进入目录
  cd /usr/src/sendEmail-v1.56
  复制文件,并设置权限
  cp -a sendEmail /usr/local/bin
  chmod +x /usr/local/bin/sendEmail
  安装组件
  yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
  进入zabbix自定义的指定目录
  可以查看zabbix_server.conf配置文件AlertScriptsPath变量是如何定义的。
  cd /usr/local/zabbix/alertscripts/
  编辑脚本
  vim sendEmail.sh
  内容如下:
  

#!/bin/bash  
#
  
to
=$1  
subject
=$2  
body
=$3  
/usr/local/bin/sendEmail  -f ieee8023@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message- -xu ieee8023@163.com -xp xxxxxxx -m "$body"
  

  说明:
  上面有4个地方我用紫色加粗字体表示了
  a@domain.com 表示发件人邮箱
  smtp.exmail.qq.com 表示邮箱的smtp服务器,因为我是用的腾讯企业邮箱。如果是其他邮箱,需要修改
  password 表示发件人邮箱密码
  编辑完成后,给脚本权限
  chmod +x sendEmail.sh
  chown zabbix.zabbix sendEmail.sh
  手动执行一次脚本,后面的参数分别对应接收人,主题,内容
  ./sendEmail.sh c@domain.com test 123
  登录c@domain.com的账户,查看邮件是否可以收到
  如果脚本执行没有报错,收不到邮件的话,请检查linux网络问题,iptables、selinux是否关闭。
  进入zabbix管理页面
  点击管理->报警媒介类型 点击最右边的创建媒体类型

  输入脚本名称,类型选择脚本
  添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
  {ALERT.SENDTO}
  {ALERT.SUBJECT}
  {ALERT.MESSAGE}

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

  点击添加

  选择sendEmail.sh脚本,输入收件人的邮箱地址

  点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了

  点权限->添加

  选择所有

  点击更新
  点击配置->动作 点击默认的动作

  点击动作->编辑

  修改持续时间为60秒
  修改步骤为3,表示触发3次动作
  选择用户Admin
  选择仅送到sendEmail.sh
  点击更新
  解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。
  假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送
  间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
  如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。
  下面开始测试邮件报警
  等待几分钟,就会收到邮件报警了

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

  点击 配置->动作->Report problems to Zabbix administrators
  在默认信息每一行后面添加<br/>
  列如:
  故障消息<br/>
  主机:{HOSTNAME}<br/>
  IP:{IPADDRESS}<br/>
  监控项:{ITEM.NAME}<br/>
  触发器:{TRIGGER.NAME}<br/>
  键值:{ITEM.KEY}:{ITEM.VALUE}<br/>
  时间:{DATE} {TIME}<br/>
  因为我用sendEmail.sh脚本指定格式是html,所以换行就是<br/>
  点击更新
  再添加几台主机

  就这样,邮件报警就写完了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-430370-1-1.html 上篇帖子: zabbix 配置SNMP监控 下篇帖子: zabbix学习小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表