zabbix
shell
sendemail
1、修改zabbix_server.conf文件,使支持调用调用脚本报警。#vim /usr/local/zabbix/etc/zabbix_server.conf AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
2、安装sendemail包,我这里以源码包为列sendemail-master.zip#sudo unzip sendemail-master.zip #解压到/usr/local/src/#sudo mv /usr/local/src/sendemail-master/sendemail /usr/local/bin/
3、编写报警脚本,这里用shell后python都可以。#cd /usr/local/zabbix/share/zabbix/alertscripts#vim sendmail.sh#!/bin/bashSMTP_server='smtp.263.net' # SMTP服务器 ,我这里以263企业邮箱为例username='**************' # 邮箱用户名password='**************' # 邮箱密码from_email_address='root@zabbix-jumpserver-tel' # 发件人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_utf8EOF`[ $? -eq 0 ] && message_subject='$message_subject_gb2312' || message_subject='$message_subject_utf8'# 转换邮件内容为GB2312message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF$message_body_utf8EOF` [ $? -eq 0 ] && message_body='$message_body_gb2312' || message_body='$message_body_utf8'# 发送邮件sendEmail='/usr/local/bin/sendEmail'#sendEmail='sudo /bin/mail'$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=gb2312echo '`date +'%F %T'` send to $to_email_address' >> /tmp/send.log #测试报警脚本是否可用#sudo ./sendmail.sh ********@qq.com test1 test1
4、重启zabbix#/etc/init.d/zabbix_server restart
5、登入zabbix的web页面,“管理”-“报警媒介类型”-“创建报警媒介”,如下图:注:参数1 :{ALERT.SENDTO}参数2 :{ALERT.SUBJECT}参数3 : {ALERT.MESSAGE}分别对应senmail.sh脚本的$1,$2,$3
6、登入zabbix的web页面,“管理”-“用户”-“报警媒介”-“添加”选择类型为刚刚创建的报警媒介类型,收件人,如下图:
7、登入zabbix的web页面,“配置”-“动作”-“创建动作”如下:并优化报警信息:在”Default message”一栏改成如下配置Host TIME:{EVENT.DATE} {EVENT.TIME}############################################################Hosts: {HOST.NAME} Hosts IP: {HOST.IP} Trigger: {TRIGGER.NAME} Trigger status: {TRIGGER.STATUS} Item values: 1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1} ############################################################Notes:Please solve the problem as soon as possible!
8、zabbix邮件报警完成。可以zabbix的web页面上创建一个模拟项目,是否报警成功。
zabbix版本3.2
注意脚本权限有可执行权限
各大邮箱服务器配置参考各大网站的邮箱服务器配置,如263为smtp.263.net