zdc253212956 发表于 2017-12-31 22:55:47

zabbix 邮件报警

  一、设置sendmail
  安装sendmail
  yum install -y sendmail
  systemctl start sendmail.service
  配置
  cd/usr/lib/zabbix/alertscripts
  vimsendmail.sh
  chmod +xsendemail.sh
  

#!/bin/bash  
SMTP_server
='smtp.exmail.qq.com'    # SMTP服务器  
username
='XXXXXXXXX'   # 用户名  
password
='XXXXXXXXX'             # 密码  
from_email_address
='XXXXXXXX' # 发件人Email地址  
to_email_address
="$1"               # 收件人Email地址,zabbix传入的第一个参数  
message_subject_utf8
="$2"         # 邮件标题,zabbix传入的第二个参数  
message_body_utf8
="$3"            # 邮件内容,zabbix传入的第三个参数  
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
  
message_subject_gb2312
=`iconv -t GB2312 -f UTF-8 << EOF  
$message_subject_utf8
  
EOF`
  
[ $
? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"  
# 转换邮件内容为GB2312
  
message_body_gb2312
=`iconv -t GB2312 -f UTF-8 << EOF  
$message_body_utf8
  
EOF`
  
[ $
? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"  
# 发送邮件
  
sendEmail
='/usr/bin/sendEmail'  
$sendEmail
-s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312  
echo
"`date +"%F %T"` send to $to_email_address" >> /tmp/send.log  

  fimd / -name 'zabbix' -print
  /etc/zabbix/zabbix_server.conf   主配置文件
  /usr/lib/zabbix/alertscripts   zabbix调用脚本目录
  测试   ./sendmail.sh    ???????@qq.com   zabbixtest   "sssssss"       //邮箱标题 内容
# ./sendmail.sh 234234234@qq.com 123123123 "33333"
  Jul 18 17:00:53 localhost sendEmail: Email was sent successfully!
  之前出现过,发邮件测试正常,但是报警没邮件的情况,所以进行一下操作:参考http://www.iyunv.com/thread-111385-1-1.html
  第二个脚本:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz(不是sendmail,这个是perl 写的一个使用smtp发送邮件的脚本)
  wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
  tar xvf sendEmail-v1.56.tar.gz
  cd sendEmail-v1.56
  cp sendEmail  /usr/bin/
  chmod +x /usr/bin/sendEmail
  解压: tar xvf sendEmail-v1.56.tar.gz
  将里边的sendEmail 复制到/usr/bin/
  然后测试第一个脚本
  二、配置zabbix 告警机制
  新建报警媒介


  新建动作 触发机制

  一定 先点 添加再点更新


  {TRIGGER.STATUS}: {TRIGGER.NAME}
  告警主机:{HOST.NAME}
  告警时间:{EVENT.DATE}{EVENT.TIME}
  问题详情:{ITEM.NAME}:{ITEM.VALUE}
  事件ID:{EVENT.ID}

  恢复操作

  关联用户设置


  三、测试
# systemctl stop zabbix-agent
页: [1]
查看完整版本: zabbix 邮件报警