centos 6.4+zabbix 2.4.5 邮件报警设置及邮件title和message乱码问题解决

外部邮箱发送报警

1、安装邮件发送工具mailx

yum install mailx #安装

whereis mailx #查看安装路径

mailx -V #查看版本信息

2、  安装sendmail(邮件传送代理MTA)

(标注:如果直接使用外部邮箱发送邮件可以不需要配置sendmail或postfix,直接把这两个软件关掉,直接跳到第3步:配置mail即可实现)  

[root@ssticentos65 ~]# yum -y install sendmail               #在线yum安装sendmail

[root@ssticentos65 ~]# /etc/init.d/sendmail start            #启动sendmail服务

[root@ssticentos65 ~]# /etc/init.d/sendmail status          #查看sendmail启动情况

sendmail dead but subsyslocked                                  #sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务。

sm-client (pid  1759) isrunning...

[root@ssticentos65 ~]# /etc/init.d/postfix stop                #暂停postfix服务提示失败,原因是postfix进程正在使用,需要使用kill命令杀掉postfix进程

Shutting downpostfix:                                    [FAILED] 

[root@ssticentos65 ~]# /etc/init.d/postfix status                #查看postfix服务可以查看到进程号

master (pid  1647) isrunning...

[root@ssticentos65 ~]# kill -9 1647                             #杀掉postfix服务进程号

[root@ssticentos65 ~]# /etc/init.d/postfix status             #查看postfix状态

master dead but pid fileexists

[root@ssticentos65 ~]# chkconfig postfix off                   #设置postfix开机不启动

[root@ssticentos65 ~]# /etc/init.d/sendmail stop              #暂停sendmail服务

Shutting downsm-client:                                  [  OK  ]

Shutting downsendmail:                                   [FAILED]

[root@ssticentos65 ~]# /etc/init.d/sendmail start                #启动sendmail服务

Starting sendmail:                                        [  OK  ]

Startingsm-client:                                       [  OK  ]

3、配置Zabbix服务端外部邮箱

3.1、编辑,添加以下信息  vi /etc/mail.rc

[root@ssticentos65 ~]# vim /etc/mail.rc

set  from= xxx@163.com                                 #网易注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱

set  smtp= smtp.163.com                               #填写网易发送邮箱服务器地址smtp

set  smtp-auth-user= xxx@163.com              #网易个人邮箱用户

set smtp-auth-password=xxxxxxx                  #网易个人邮箱密码(网易邮箱设置为授权码,而非个人登录密码)

set  smtp-auth=login                           #登录

3.2、:wq! #保存退出
3.3、测试发送邮件echo "zabbix test mail" |mail-s "zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

3.4、添加Zabbix服务端邮件发送脚本
3.4.1、cd/usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录
3.4.2、[root@localhost tmp]# vim/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh编辑,添加以下代码

mail=$1

title=$2

message=$3

title_2312=`iconv -t GB2312 -f UTF-8 << EOF    #标题编码格式转换

$title

EOF`

message_2312=`iconv -t GB2312 -f UTF-8 << EOF  #内容编码格式转换

$message

EOF`

echo "${message_2312}" | mailx -s"${title_2312}" ${mail} >> /tmp/mailx.log 2>&1

exit $?

chown zabbix.zabbix/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

3.4.3、[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf#zabbix_server.conf中要增加sendmail.sh的目录,以便服务器可以拿到脚本路径,添加以下代码:

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

4、配置Zabbix服务端邮件报警

4.1、创建发送邮件动作
4.1.1、组态-动作-创建动作

4.1.2、设置动作信息


名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

4.1.3、设置操作参数

设置完操作细节后点击操作细节中的更新,会在动作操作中显示步骤1,则设置成功,页面左下角的更新,动作穿件完成。

4.2、创建示警媒介
4.2.1、管理-示警媒介类型-创建示警媒介

4.2.2、设置示警媒介参数

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh      #填写最初创建的脚本文件名

已启用:选择

更新

4.3、设置Zabbix用户报警邮箱地址
4.3.1、组态-用户-创建用户


4.3.2、设置用户信息


4.3.3、设置报警媒介


设置完成后点击添加,保存用户设置

5、测试Zabbix报警

5.1、关闭Zabbix客户端服务

[root@localhost ~]# service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

5.2、再开启Zabbix客户端服务

[root@localhost ~]# service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

至此,Zabbix邮件报警设置完成。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值