一、关闭sendmail或者postfix
service sendmail stop #关闭
chkconfig sendmail off #禁止开机启动
service postfix stop
chkconfig postfix off
备注:
使用外部邮箱账号时,不需要启动sendmail或者postfix
如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱
配置信息。
二、安装邮件发送工具mailx
yum remove mailx #卸载系统自带的旧版mailx
在用yum安装
yum install -y mailx
whereis mailx #查看安装路径
mailx -V #查看版本信息
三、配置Zabbix服务端外部邮箱
vi /etc/mail.rc #编辑,添加以下信息
set
from=123456@126.com
set
smtp=smtp.126.com
set
smtp-auth-user=123456
set
smtp-auth-password=123456
set
smtp-auth=login
:wq! #保存退出
echo “zabbix test mail” |mail -s “zabbix” xxx@qq.com
#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:xxx@qq.com
#这时候,邮箱xxx@qq.com会收到来自xxx@qq.com的测试邮件
#!/bin/bash
messages=`
echo
$3 |
tr
'\r\n'
'\n'
`
subject=`
echo
$2 |
tr
'\r\n'
'\n'
`
echo
"${messages}"
| mail -s
"${subject}"
$1 >>
/tmp/sendmail
.log 2>&1
四、配置Zabbix服务端邮件报警
1、打开Zabbix
管理-示警媒介类型-创建媒体类型
名称:Sendmail
类型:脚本
脚本名称:sendmail.sh
已启用:勾选
存档
编辑完成后,给脚本权限
chmod +x sendemail.sh chown zabbix.zabbix sendemail.sh
进入zabbix管理页面
点击管理->报警媒介类型 点击最右边的创建媒体类型
输入脚本名称,类型选择脚本并添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
点击Admin用户–点击报警媒介–添加
选择sendEmail.sh脚本,输入收件人的邮箱地址
点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了
点击Zabbix administrators组名称 点权限->添加 ,全部选择
选择所有 点击更新。
点击配置->动作 点击默认的动作:
点击操作->编辑:
修改以下内容(实际情况,大家根据自己需求填写,这里仅仅为了展示)
修改持续时间为60秒
修改步骤为3,表示触发3次动作
选择用户Admin
选择仅送到sendemail.sh
点击更新
解释:
默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。
假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送
间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。