zabbix 邮件报警

 

一、设置sendmail

安装sendmail  

   yum install -y sendmail

     systemctl start sendmail.service

配置

cd  /usr/lib/zabbix/alertscripts

vim  sendmail.sh

chmod +x  sendemail.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"       //邮箱  标题 内容

[root@localhost alertscripts]# ./sendmail.sh 234234234@qq.com 123123123 "33333"
Jul 18 17:00:53 localhost sendEmail[29187]: 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}

恢复操作

 

 关联用户设置

 

 

 三、测试

[root@123123 ~]# systemctl stop zabbix-agent       

 

 

 

 

 

 

     

posted @ 2017-07-18 17:24  jjp816  阅读(207)  评论(0编辑  收藏  举报